猿问

一道图形题,编写程序,输出如图所示高度为n的图形?

奈萌墨尔
浏览 2215回答 3
3回答

qq_sunburst_23211116

include <iostream>using namespace std;class tu{    int i;public:    tu(int n) { i = n; }    void show();};void tu::show(){    int p = 1;    int q;    for (int i = 1; i <= 6; i++)    {        p = p+i-1;        q = p;        for (int j = i; j <= 6; j++)        {            cout << q << "\t";            q += j+1;        }        cout << endl;    }}int main(){    int n;    cout << "input n: ";    cin >> n;    tu q(n);    q.show();    return 0;}

葛zc

我就不写代码了。写一下思路。从题目上可以看出这数字是从左下到右上以差为一递增的,而且可以看出对角线上的元素的下标都是相同的。那就可以先在外设置一个for循环for(i=0;i=n;i++);再循环里面在设一个循环for(j=0;j<=i;j++){    a[j][i-j]=count;  //count在循环外初始化,a为数组,具体大小看题目    count++;}就好了,没验证过,想来应该是对的,希望对你有所帮助
随时随地看视频慕课网APP
我要回答