编写算法,打印如下图像

时间:2022-08-31 15:07:02

编写算法,打印如下图像

编写算法,打印如下图像

分析:

由图形可知,该图由6层(斜对角),
第一层有1到6共6个数,
第二层有7到11共5个数,
第三层有12到15共4个数,
第四层有16到18共3个数,
第五层有19到20共2个数,
第六层有21共1个数。
故可以使用双层循环,来解决。

C++实现代码:

#include <iostream>
#include <iomanip> 
using namespace std;
int main()
{
    int n,i,j,k=1;
    cout<<"please input a number:";
    cin>>n;
    int a[n+1][n+1];
    for(i=1;i<=n;i++){
        for(j=1;j<=n+1-i;j++){
            a[i-1+j][j] = k++;
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=i;j++){
            cout<<setw(4)<<a[i][j];
        }
        cout<<endl;
    }
    return 0;
}

结果:

编写算法,打印如下图像