【菜坤萌新求助站外题】
  • 板块灌水区
  • 楼主Rocket_Lava_TNT
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/3/2 10:03
  • 上次更新2024/3/2 12:59:54
查看原帖
【菜坤萌新求助站外题】
918753
Rocket_Lava_TNT楼主2024/3/2 10:03

问题在于:当n是奇数时最中间的数赋不上值

#include <bits/stdc++.h>
using namespace std;
int arr[105][105];
void generator(int n){
	int a=1; //边框左/上边界
	int b=n; //边框右/下边界 
	int c=1; //覆盖数字
	while(b-a>=1){
		for(int j=a;j<=b;j++){
			arr[a][j]=c;
			arr[b][j]=c;
		}for(int i=a;i<=b;i++){
			arr[i][a]=c;
			arr[i][b]=c;
		}
		a++;
		b--;
		c++;
	}
}
int main(){
	int n;
	cin>>n;
	generator(n);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<arr[i][j]<<' ';
		}
		cout<<endl;
	}
	return 0;
}

请给出思路而非具体代码,谢谢

2024/3/2 10:03
加载中...