1.掌握循环、递归算法的基本思想、技巧和效率分析方法。
2.熟练掌握循环和递归的设计要点,清楚循环和递归的异同。
3.学会利用循环、递归算法解决实际问题。
打印图形
编程打印如下图所示的N阶方阵。
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
代码实现:
#include <iostream>
using namespace std;
int main() {
int a[100][100] = {0};
int n, k;
int i, j;
cout << "请输入n的值:";
cin >> n;
k = 1;
for (i = 1; i <= n; i++) {
int m = k;
int d = i + 1; //差值
for (j = 1; j <= n - i + 1; j++) {
a[i][j] = m;
m = m + d;
d++;
}
k += i;
}
//输出
for (i = 1; i <= n; i++) {
for (j = 1; j <= n - i + 1; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
结果展示:
ps:如果代码还不是很理解,可以看一下横竖相邻两个数的差值,在代码中带入一下。
可能会理解的更好。

3万+

被折叠的 条评论
为什么被折叠?



