#include<iostream>
using namespace std;
int arr[1000][1000];
int main(){
int n,m,x=1,y=0;cin>>n>>m;
for(int i=1;i<=n*m;){
while(y<m&&!arr[x][y+1]) arr[x][++y]=i++;//注意a++与++a的不同,前者是先取值再自增,后者是
while(x<n&&!arr[x+1][y]) arr[++x][y]=i++;//先自增后取值,这里改成y++程序就不能正确运行了
while(y>1&&!arr[x][y-1]) arr[x][--y]=i++;
while(x>1&&!arr[x-1][y]) arr[--x][y]=i++;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
printf("%d ",arr[i][j]);
}
cout<<endl;
}
return 0;
}
3月23日每日一练题解
最新推荐文章于 2024-06-17 22:13:25 发布