#include <iostream>
using namespace std;
int main() {
int n, i, j, x, y, nx, ny;
int a[40][40];
for (i = 0; i < 40; i++)
for (j = 0; j < 40; j++)
a[i][j] = 0;
cin >> n;
y = 0;
x = n - 1;
n = 2 * n - 1;
for (i = 1; i <= n * n; i++) {
a[y][x] = i;
ny = (y - 1 + n) % n;
nx = (x + 1) % n;
if ((y == 0 && x == n - 1) || a[ny][nx] != 0)
y = y + 1;
else {
y = ny;
x = nx;
}
}
for (j = 0; j < n; j++)
cout << a[0][j] << " ";
cout << endl;
return 0;
}
判断题
如果第12行改为n = n > 1 - 1;程序运行结果不变。
输出的数有n个(n为第9行输入的n)。
将第13行的i++改成++i,运行结果不变。
将第6到8行删除,不影响运行结果。
选择题
当输入为3时,输出为( )
A 17 24 1 8 15
B 17 21 3 5 2
C 1 5 36 7 5
D 17 2 8 3 1
当输入为4时,输出为( )
A 30 39 48 1 10 19 28
B 24 39 48 1 10 19 28
C 30 39 48 1 5 19 14
D 30 39 24 1 10 28