利用字符串和一个控制变量,可以把循环压成两重,甚至是一重。。。
偶学编程,也许本身就是一个错。。。
应大家要求再简
#include<stdio.h>
#include<math.h>
int main()
{
int i,j,a;
printf("请输入一个数");
scanf("%d",&a);
for (i=-(a-1);i<=a-1;i++)
{
for (j=1;j<=abs(i);j++)
printf(" ");
for (j=(abs(i)-a+1);j<=abs(abs(i)-a+1);j++)
printf("%d",a-abs(j));
printf("\n");
}
}
如果找到库函数能输出定位就可以连for (j=1;j<=abs(i);j++)
printf(" ");
也不要了.