e......不行啊
2024-07-08 17:57:24
发布于:广东
20阅读
0回复
0点赞
#include<iostream>
using namespace std;
int main(){
int n,flag = 0,now = 1;
cin >> n;
int ans[n][n];
int x = 1,y = 1;
while(now <= n * (n + 1) / 2){
ans[x][y] = now,ans[n-x+1][n-y+1] = n*n - now+1;
now++;
if(x == 1 && !flag){
y++,flag=!flag;
}else if(y==1 && flag){
x++,flag=!flag;
}else{
if(flag){
x++,y--;
}else{
x--,y++;
}
}
}
for(int i = 1 ; i <= n ; i++){
for(int j = 1 ; j <= n ; j++){
cout << int(ans[i][j]);
if(j <= n-1){
cout << " ";
}
}
cout << endl;
}
}
全部评论 2
二位数组不能这么定义,第六行改成
int ans[105][105];
2024-07-08 来自 广东
0全是 RE
2024-07-08 来自 广东
0
有帮助,赞一个