语法基础版
共三种做法:
#include <iostream>
using namespace std;
const int N = 110;
int a[N][N];
// int main (){
// int n;
// while (cin >> n, n) {
// for (int i = 0; i < n; i++) {
// a[i][i] = 1; // 从对角线向右和向下延伸 使用k来表示递增值
// for (int j = i + 1, k = 2; j < n; j++, k++) a[i][j] = k;
// for (int j = i + 1, k = 2; j < n; j++, k++) a[j][i] = k;
// }
// for (int i = 0; i < n; i ++) {
// for (int j = 0; j < n; j++) cout << a[i][j] << ' ';
// cout << endl;
// }
// cout << endl;
// }
// return 0;
// }
// int main (){
// int n;
// while(cin >> n, n) {
// for (int i = 1; i <= n; i++) { // 把1分成前后两部分,不用数组
// for (int j = i; j >= 1; j--) cout << j << ' ';
// for (int j = i + 1; j <= n; j++) cout << j - i + 1 << ' ';
// cout << endl;
// }
// cout << endl;
// }
// return 0;
// }
int main (){
int n;
while (cin >> n, n) {
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++)
printf("%d ", abs(i - j) + 1); // 找规律 每个数 abs(i - j) + 1
cout << endl;
}
cout << endl;
}
return 0;
}