数字金字塔(对楼上做了修改)
#include
int main()
{
int blank, number, column, n;
printf("请输入数字金字塔层数(小于50):");
scanf("%d", &n);
//判断输出三角形中最大数的位数,即最后一行中间数的位数
int count = 0;
int x = 0;
x = 2 * n - 1;//最后一行中间数数值
while (x != 0)
{
x /= 10;
++count;
}
//输出
for (column = 1; column <= n; column++)
{
for (blank = 1; blank < (n - column)*(count+1)+count; blank++) printf(" ");//输出每行前部空格
for (number = column; number < (2 * column); number++)//输出从小到大;例:123
{
if (number < 10&&count != 1)
{
printf(" %d", number);
}
else
{
printf(" %d", number);
}
}
for (number -= 2; number >= column; number--)//输出从大到小;例:21
{
if (number < 10 && count != 1)
{
printf(" %d", number);
}
else
{
printf(" %d", number);
}
}
printf("\n\n");
}
return 0;
}
数字金字塔
数字金字塔
123***789@gmail.com12个月前 (01-03)