C语言怎么循环打印星号图形
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍“C语言怎么循环打印星号图形”,在日常操作中,相信很多人在C语言怎么循环打印星号图形问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言怎么循环打印星号图形”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
C语言 循环打印星号图形*
用两层循环
外层循环 控制行(行数、换行)
内层循环 控制列( 列数、列的符号 )
第一种效果图:
为什么是j<=i*2呢?
第一行以0计算,第一行星数为0
第二行为1计算,第二行星数为2
#include <stdio.h>#include <stdlib.h> int main(){ int i,j; //外层控制行数和换行 for(i=0;i<5;i++) { //内存循环控制列数和星数量 for(j=0;j<=i*2;j++) { printf("*"); } printf("\n"); } return 0;}
第二种效果图:
为什么是4-i呢
第一行i=0时,j是4
第二行i=1时,j=3
.。。。。
#include <stdio.h>#include <stdlib.h> int main(){ int i,j; //外层控制行数和换行 for(i=0;i<5;i++) { //内存循环控制列数和星数量 for(j=0;j<=4-i;j++) { printf("*"); } printf("\n"); } return 0;
第三种效果图:
为什么是输入空格的是j<=3-i呢
第一行i=0,有五行,第一行应该有4个空格,所以i从0开始话
。。。。。
#include <stdio.h>#include <stdlib.h> int main(){ int i,j; //外层控制行数和换行 for(i=0;i<5;i++) { //内存循环控制列数和星数量 for(j=0;j<=3-i;j++) { printf(" "); } for(j=0;j<=i*2;j++) { printf("*"); } printf("\n"); } return 0;
第四种效果图:
为什么是j<i和8-i*2,自己根据上面三种图的思路慢慢画出来吧
int i,j; for(i=0;i<5;i++) { for(j=0;j<i;j++) { printf(" "); } for(j=0;j<=8-i*2;j++) { printf("*"); } printf("\n"); } return 0;
第五种效果图:
三四结合就是第五种
#include <stdio.h>#include <stdlib.h> int main(){ int i,j; //外层控制行数和换行 for(i=0;i<5;i++) { //内存循环控制列数和星数量 for(j=0;j<=3-i;j++) { printf(" "); } for(j=0;j<=i*2;j++) { printf("*"); } printf("\n"); } for(i=0;i<5;i++) { for(j=0;j<i;j++) { printf(" "); } for(j=0;j<=8-i*2;j++) { printf("*"); } printf("\n"); } return 0;
再来个另类的第六种
#include <stdio.h>#include <stdlib.h> void main(){ int num,i,j; printf("请输入一个数字:"); scanf("%d",&num); //上半部分 for(i = 0;i <= num;i++) { for(j = 0;j < num-i;j++) { printf("%d",num-i); } printf("\n"); } printf("\n"); //下半部分 for(i = 0;i < num;i++) { for(j = 0;j <= i;j++) { printf("%d",i+1); } printf("\n"); }
到此,关于“C语言怎么循环打印星号图形”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341