3 回答
TA贡献1条经验 获得超1个赞
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;
}
TA贡献3条经验 获得超2个赞
我就不写代码了。写一下思路。从题目上可以看出这数字是从左下到右上以差为一递增的,而且可以看出对角线上的元素的
下标都是相同的。
那就可以先在外设置一个for循环for(i=0;i=n;i++);
再循环里面在设一个循环for(j=0;j<=i;j++){
a[j][i-j]=count; //count在循环外初始化,a为数组,具体大小看题目
count++;
}
就好了,没验证过,想来应该是对的,希望对你有所帮助
- 3 回答
- 0 关注
- 2214 浏览
添加回答
举报