不是VIP会员,不能显示答案

题目解答

题目:
#include <iostream>

#include <iomanip>

using namespace std;



int m[101][101];



int main() {

int a;

cin>> a;



int c=a*a, i=1, k=(a+1)/2;

for (int j=1; j<=c; j++) {

m[i][k] = j;

if (j%a==0) {

if (i==a)

i=1;

else

i++;

} else {

if (i==1)

i=a;

else

i--;



if (k==a)

k=1;

else

k++;

}

}

for (int i=1; i<=a; i++) {

for (int j=1; j<=a; j++)

cout<<setw(5) << m[i][j];

cout<<endl;

}

return 0;

}


判断题

1) 从程序可以看出,i为被填数,j和k为填数位置。

2) 填数结束后,数组m中的元素互不相同。


选择题

3) 当j%a==0且i!=a,下一步填入的量( )

4) 当j%a!=0, i!=1且k==a时,下一步填入的是( )

5) 填数后,每行每列及对角线的和均为( )
考点:
分析:
解答:
评论:
老师: