⒌ 编程序打印一个如图3-2所示的数字金字塔:

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:32:29
⒌ 编程序打印一个如图3-2所示的数字金字塔:
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
编出来的程序如下:
#include<iostream.h>
#include<iomanip.h>
void main(void)
{
int i,j,k;
for(i=1;i<=9;i++)
{
for(j=1;j<=29-3*i;j++)
cout<<" ";
for (k=1;k<=i;k++)
cout<<setw(3)<<k;
for(k=i-1;k>0;k--)
cout<<setw(3)<<k;
cout<<endl;
}
}
那个(j=29-3*i)和i,j,k分别代表什么意思?

都是循环控制变量
29-3*i表示每行数字前面的空格总数,29只要大于3×9=27就行(其中3表示设置的输出宽度setw(3),9是总共输出九行),每增一行,多减去3个空格
i,表示所在行数
j,空格数
k,输出的阿拉伯数字

题目太幼稚,不值得一答