接触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();            //返回主函数
}

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

  1. 怎某泳c语言输出图形,c语言打印字符图形.doc

    c语言打印字符图形.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得 ...

  2. C语言for循环打印各种字符三角形+菱形的方法

    1.编写一个程序,在用户输入某个大写字母后,产生一个金字塔图案,例如输入字母E: AABAABCBAABCDCBA ABCDEDCBA C语言代码实现: #include <stdio.h> ...

  3. Java使用for循环:打印直角三角形/倒直角三角形/正三角形/倒正三角形/矩形/平行四边形/菱形的规律

    新人表示总结出规律后,小意思啦~ 使用方法:嵌套for循环 1.外层循环控制的是执行的轮数,内层循环控制的是这一轮中执行的次数 2.外层循环控制的是图形的行数,内层循环控制的是这一行的列数 直角三角形 ...

  4. php打印倒立金字塔,编写程序打印*字符形成的等腰三角形倒立金字塔图形 ******* ***** *** *...

    导航:网站首页 > 编写程序打印*字符形成的等腰三角形倒立金字塔图形 ******* ***** *** * 编写程序打印*字符形成的等腰三角形倒立金字塔图形 ******* ***** *** ...

  5. 双重for循环打印星号矩形,平行四边形,三角形规律总结

    双重for循环打印星号矩形,平行四边形,三角形规律总结 双重for循环就是在一个for循环里面在插入另一个for循环,格式如下 for(){for(){}} 当外面的循环运行一次,内部的循环需要运行一 ...

  6. 337、用三角形triangle、方形square、圆形circle等“基本图形“来表示任意的 图形 如菱形 半圆

    今天碰到一个题目如下 用三角形triangle.方形square.圆形circle等"基本图形"来表示任意的 图形 如菱形 半圆等,用类图或者java c++等其他编程需要应当如何 ...

  7. Java黑皮书课后题第3章:**3.19(计算三角形的周长)编写程序,读取三角形的三个边,如果输入值合法就计算这个三角形的周长;否则,显示这些输入值不合法。如果任意两条边的和大于第三边,则输入值都是合

    **3.18(计算三角形的周长)编写程序,读取三角形的三个边,如果输入值合法就计算这个三角形的周长:否则,显示这些输入值不合法.如果任意两条边的和大于第三边,则输入值都是合法的 题目 题目概述 破题 ...

  8. C语言标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n”

    标题下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形.直角三角形.等腰直角三角形,一般三角形.若不能,则输出"不是三角形\n" ...

  9. css绘制常见的一些图形(线条、箭头、三角形、矩形、圆、椭圆、平行四边形、菱形、梯形)

    css常见的图形绘制 线段的绘制 直线(实线) 直线(虚线) 箭头的绘制 单箭头 双箭头 三角形的绘制 直角三角形 三角形 矩形 圆 椭圆 梯形的实现 梯形 直角梯形 圆角梯形 菱形的实现 通过正方形 ...

  10. C语言13567星号如何输出,c语言程序编程心得

    c语言程序设计 本课介绍c语言程序设计的基本方法和基本的程序语句. 从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构.分支结构.循环结构.这三种基本结构可以组成所有的各种复杂程序.c语言提供 ...

最新文章

  1. js 正则匹配URL,网址,带端口,带query的
  2. 为什么SpringBoot的 jar 可以直接运行?
  3. requests下载大文件_11种方法教你用Python高效下载资源!
  4. [导入]C#中TextBox只能输入数字的代码
  5. 研究生如何选定课题方向 如何变学神
  6. Java多线程(学习总结,持续更新)
  7. 解决docker数据文件过大导致根磁盘满的问题
  8. 微信表情图像代表什么意思_电表型号怎么选 型号字母都代表什么意思
  9. android 计算圆周率方法,android Math的使用
  10. Spring Boot 学习笔记(一)
  11. 微信小程序+java后台
  12. devc ++的安装教程(C语言学习比较好用的一个开发软件)
  13. axure后台示例_AxureUX中后台管理信息系统通用原型方案 v1.1
  14. 计算机圣诞节教案,2010我们的圣诞节(2010圣诞节教案)
  15. 计算机模拟圣彼得堡游戏
  16. OKR工作法的简单总结
  17. 【uniapp基础篇】上传图片
  18. python生日悖论,Python的生日悖论
  19. geoCoordMap数据,全国省市,4个直辖市,用于echart gl 3d地图
  20. 计算机网络文件丢失怎么找回,电脑上的数据误删除了怎么恢复?教你几招!

热门文章

  1. 使用 Python 爬取网页数据
  2. MIPI 打怪升级之DSI篇
  3. rc时间常数定义_rc电路时间常数的定义及计算
  4. spring-security-oauth2(五) 记住我
  5. verilog编程,可能你一直在错误地使用计数器cnt
  6. 2019第九届蓝桥杯大赛个人赛决赛真题C语言B组——调手表
  7. 一键seo提交收录_百度、360快速收录新上线网站技巧、方法
  8. 智能跟随小车-红外遥控(程序+原理图+PCB+论文报告)
  9. 【好工具】强烈安利的文献管理软件 Mendeley
  10. web之线性渐变,径向渐变,重复渐变