C语言,循环控制输出菱形
c语言的地位不用多说了,在编程排行榜上没有出过前五。
说白了,用for循环控制输出空格、星号的个数可以完成菱形的输出。
讲讲我的思路,先写一个大循环用于控制输出行数,
在大循环里面写两个循环,一个是控制输出空格的个数,一个是控制输出星号的个数,这两个循环是同等地位的。
思路讲明白了,然后具体怎么操作呢?
我们先来看一下输出结果
我们可以看到星号个数是1,3,5,7,9,7,5,3,1
空格个数是4,3,2,1,0,1,2,3,4
分为上下两部分来操作:
上面的空格是不断减少的和行数可以联系起来:控制循环-空格个数小于5-i
然后输出星号:控制循环-星号和行数的规律是小于二倍行数的值-1;
下半部分:空格个数是1,2,3,4;
星号个数是7,5,3,1;
循环控制的空格个小于行数
星号个数10-二倍的行数-1,
要记得在控制行数循环里需要输出换行
总共有九行上部分5行,下部分4行。
下面是代码:
#include<stdio.h>
void main(){
for(int a=0;a<5;a++){
for(int b=0;b<5-a;b++)
printf(" ");
for(int c=0;c<2*a-1;c++)
printf("*");
printf("\n");
}
for (int i=0;i<=5;i++){
for(int j=0;j<i;j++)
printf(" ");
for(int k=0;k<10-2*i-1;k++)
printf("*");
printf("\n");
}
}
注:行数可以自己改变