题目是输出一个图案:
其实这里面并不是只有星号,它里面还有空格。其实也可以用printf函数来输出,但我这里不用这个方法,这里将用循环。
我们可以将这个图案分成上下两个部分,最长的一列我分给了上面。这样,我们就可以找到这个图案的规律了,上部分的规律为:*的个数为行号乘以二再减去一,空格的个数为上部分的总行数减去行号i。 下部分的规律为:空格的个数与行号相等,的个数=7-2i(i为行号)。
规律找到后,就可以开始写代码了:
#include<stdio.h>
int main()
{
int i,j;//i表示行号,j表示列号
for(i=1;i<=4;i++)
{for(j=1;j<=7;j++)
{if(j<=4-i)
printf(" ");
if(j>4-i&&j<=4-i+(2*i-1))
printf("*");}
printf("\n");}//上半部分
for(i=1;i<=3;i++)
{for(j=1;j<=7;j++)
{if(j<=i)
printf(" ");
if(j>i&&j<=i+(7-2*i))
printf("*");}
printf("\n");}//下半部分
return 0;
}
代码就在这里啦!各位小伙伴试试吧!