文章

3

粉丝

321

获赞

7

访问

31.1k

头像
找规律啊,找规律
P1216 福州大学2018年机试题
发布于2020年3月31日 10:27
阅读数 11.1k

#include<bits/stdc++.h>
using namespace std;

int a[21][21];
int main(){
	
	int n;
	scanf("%d",&n);
	
	int w = 1;
	//奇数的时候给中心元素赋值 
	if(n%2==1) a[n/2][n/2] = n*n;
	
	//圈数 
	for(int k = 0; k < n / 2; k++){
		
		//向下 
		for(int i = k; i < n-k; i++){
			a[i][k] = w++;
		}
		//向右 
		for(int i = k+1; i < n-k;i++){
			a[n-k-1][i] = w++;
		}
		//向上 
		for(int i = n-k-2; i > k-1; i--){
			a[i][n-k-1] = w++;
		}
		//向左 
		for(int i = n-k-2;i > k; i--){
			a[k][i] = w++;
		}
	}
	
	for(int i = 0; i < n; i++){
		for(int j = 0; j < n; j++){
			printf("%-4d",a[i][j]);
		}
		printf("\n");
	} 
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发