//解决的蛇形矩阵问题
//输入n=3
//输出
//781
//692
//543
#include<stdio.h>
int main(){
int a[100][100];
int n;//矩阵大小
int i=0,j=0;
int m=1;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
a[i][j]=0;
}
}
i=-1;
j=n-1;
while(m<=n*n){
//
while(i<(n-1)&&a[i+1][j]==0){
a[++i][j]=m++;
printf("%d\n",a[i][j]);
}
while(j>0&&a[i][j-1]==0){
a[i][--j]=m++;
printf("%d\n",a[i][j]);
}
while(i>0&&a[i-1][j]==0){
a[--i][j]=m++;
printf("%d\n",a[i][j]);
}
while(j<n&&a[i][j+1]==0){
a[i][++j]=m++;
printf("%d\n",a[i][j]);
}
}
//return 0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%5d",a[i][j]);
}
printf("\n");
}
return 0;
}
本站采用阿里云服务器,如果你也想使用阿里云服务器,可以点击领取代金券/优惠券
额 本文暂时没人评论 来添加一个吧
发表评论