题目:编写程序,输出如下图形2
思路:将程序分成上下两半,再将上半部分分成三部分,一部分,另一部分就是剩下的部分。第一部分由输出的空格和数字组成,另一部分是反过来的数字。
程序:
#include<stdio.h>
#define n 5
main()
{
int i,j,k;
for(i=1;i<=n;i++)//上半部分
{
for(k=i;k<=n;k++)//输出空格
{
printf(" ");
}
for(j=1;j<=i;j++)//输出上部分中前半部分数字
{
printf("%d",j);
}
for(k=i-1;k>0;k--)//输出上部分中后半部分数字
{
printf("%d",k);
}
printf("\n");
}
for(i=4;i>=0;i--)//下半部分
{
for(k=i;k<=n;k++)//输出空格
{
printf(" ");
}
for(j=1;j<=i;j++)//输出下部分中前半部分的数字
{
printf("%d",j);
}
for(k=i-1;k<=5&&k>0;k--)//输出下部分中后半部分的数字(记得要倒叙输出哦!)
{
printf("%d",k);
}
printf("\n");
}
}
测试:
总结:这是对循环结构的综合应用,对初学者而言难度还是有一点点的哈!