求助大佬
  • 板块学术版
  • 楼主是南山啊
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/8/11 12:24
  • 上次更新2023/11/4 11:03:53
查看原帖
求助大佬
354342
是南山啊楼主2021/8/11 12:24
#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 时,下一步填入的是( )

A. m[1][k] B. m[i+1][k] C. m[k+1][i] D. m[k+1][i+1]

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

A. m[a][1] B. m[i-1][1] C. m[a][k+1] D. m[i-1][k+1]

2021/8/11 12:24
加载中...