输出图形(循环程序,任意字符) 三角形、矩形、平行四边形、菱形

本文主要是介绍输出图形(循环程序,任意字符) 三角形、矩形、平行四边形、菱形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接触C有一段时间了,看多好次输出各种图形的练习题,自己也曾经编写过,今天整理在一起,为了给自己留下记录,也为了跟同样在学习路上的朋友们一起交流;

代码采用主函数、分函数结构

实现以下功能

1、选择性输出 想要的图形 以及 图形大小

2、循环功能,主动选择退出

3、键盘任意输入,只有符合要求的输入(0~4)被执行,其他均为非法输入,返回程序,重新选择

4、屏蔽输入结束时的“回车”,用函数 fflush(stdin);   这个函数的作用是清除缓存,为下一次输入做准备

部分截图:

以下是代码:供参考

/*输出图形小程序*/
#include "stdio.h"
#include "stdlib.h"
//声明函数,三角形、矩形、平行四边形、菱形 
int sanj();
int juxi();
int pinx();
int ling();
void main()
{int a;printf("*******输出图形小程序*******\n\n\t【1】三角形\n\t【2】矩形\n\t【3】平行四边形\n\t【4】菱形\n\t【0】退出\n\n");printf("请选择要执行代号: ");//scanf("%d",&a); 			//这种取值方法只能取数值 a=getchar();				//键盘获取任意字符 printf("\n\n");a=a-'0';				   //将字符转换为ASCII码 ,并与 ’0‘ 比较大小 if(!(a>=0&&a<=4))  a=5;    //对于比值不是 0-4 之间的的数统一赋值为 5 (不是0~4的都可以) switch(a)				   //进入对应的函数	{case 1: sanj();break;case 2: juxi();break;case 3: pinx();break;case 4: ling();break;case 0: exit(0);default: printf("选择错误,返回主程序\n\n");fflush(stdin);		//这个函数的作用是清除缓存,返回主函数之前使用, 为下一次取值做准备main();			//返回主函数 }
}int sanj()			//输出三角形 函数 
{	int s1,s2,s3,s;printf("【1】三角形  行数:  ");scanf("%d",&s);printf("\n\n ");s3=s*2-1;printf("\n");for(s1=1;s1<=s;s1++){	printf("\t");for(s2=1;s2<=s-s1;s2++)printf("  ");for(s3=1;s3<=s1*2-1;s3++)printf("* ");printf("\n");}printf("\n\n");fflush(stdin);		//这个函数的作用是清除缓存,返回主函数之前使用, 为下一次取值做准备main();			//返回主函数 ;
}int juxi()		//输出矩形 函数 
{	int s1,s2,s;printf("【2】矩形 行数:  ");scanf("%d",&s);printf("\n\n");for(s1=1;s1<=s;s1++){	printf("\t");for(s2=1;s2<=s;s2++)printf("* ");printf("\n");}printf("\n\n");fflush(stdin);		//这个函数的作用是清除缓存,返回主函数之前使用, 为下一次取值做准备main();			//返回主函数 
}int pinx()		//输出平行四边形 函数 
{	int s1,s2,s3,s;printf("【3】平行四边形 行数:  ");scanf("%d",&s);printf("\n\n");for(s3=1;s3<=s;s3++){printf("\t");for(s1=1;s1<=s-s3;s1++)printf(" ");for(s2=1;s2<=s;s2++)printf("* ");printf("\n");}printf("\n\n");fflush(stdin);		//这个函数的作用是清除缓存,返回主函数之前使用, 为下一次取值做准备main();			//返回主函数 
}
int ling()		//输出菱形 函数 
{	int s1,s2,s3,s4,s5,s,row;printf("【4】菱形 行数:  ");scanf("%d",&s);printf("\n\n");row=s/2;if(s%2==0)		//输出行数为 偶数 {for(s1=1;s1<=s;s1++){if(s1<=row){printf("\t");for(s2=1;s2<=row-s1;s2++)printf("  ");for(s3=1;s3<=s1*2-1;s3++)printf("* ");printf("\n");}else{printf("\t");for(s4=1;s4<=s1-row-1;s4++)printf("  ");for(s5=1;s5<=(s-s1)*2+1;s5++)printf("* ");printf("\n");}}}else		//输出行数为 奇数 {   row++;for(s1=1;s1<=s;s1++){if(s1<=row){printf("\t");for(s2=1;s2<=row-s1;s2++)printf("  ");for(s3=1;s3<=s1*2-1;s3++)printf("* ");printf("\n");}else{printf("\t");for(s4=1;s4<=s1-row;s4++)printf("  ");for(s5=1;s5<=(s-s1)*2+1;s5++)printf("* ");printf("\n");}}}printf("\n\n");fflush(stdin);		//这个函数的作用是清除缓存,返回主函数之前使用, 为下一次取值做准备main();			//返回主函数 
}

 

 

 

 

这篇关于输出图形(循环程序,任意字符) 三角形、矩形、平行四边形、菱形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/626630

相关文章

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

python多种数据类型输出为Excel文件

《python多种数据类型输出为Excel文件》本文主要介绍了将Python中的列表、元组、字典和集合等数据类型输出到Excel文件中,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一.列表List二.字典dict三.集合set四.元组tuplepython中的列表、元组、字典

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring