编程利用循环打印如下字符图形:
12345678987654321
234567898765432
3456789876543
45678987654
567898765
6789876
78987
898
9
我的代码如下:
#include
void main()
{
int a,sum;
sum=1;
for(a=1;a<=9;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=8;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=2;
for(a=1;a<=8;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=7;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=3;
for(a=1;a<=7;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=6;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=4;
for(a=1;a<=6;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=5;a--)
{
sum=sum+1;
printf("%d\n",sum);
}
sum=5;
for(a=1;a<=5;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=4;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=6;
for(a=1;a<=4;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=3;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=7;
for(a=1;a<=3;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=2;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=8;
for(a=1;a<=2;a++)
{
sum=sum+1;
printf("%d",sum);
}
for(a=1;a<=1;a++)
{
sum=sum-1;
printf("%d\n",sum);
}
sum=9;
printf("%d",sum);
}
这其实只要两层循环就可以了吧
include
include
int main()
{
char a="12345678987654321",*b=a;
for(int i=0;i<strlen(a)/2+1;i++)
{
for(int j=i;j<strlen(a)-i;j++)
{
printf("%c",a[j]);
}
printf("\n");
}
return 0;
}
2层循环即可,你写的有点复杂了。
建议再优化下,把复杂的事情简单化