#include<stdio.h>
int main()
{
int i,j,n,m=1,ans,t=0,count;//t为圈数,m是方阵中每个位置的值(累加1)
int a[100][100];
scanf("%d",&n);
count=n*n;
j=i=0;
while(count){ //count计数
while(count&&i<n-t){
if(i==j&&i==0){
a[i][j]=m;
m++;
count--;
i++;
}
else{
a[i++][j]=m;
m++;
count--;
}
}
i--;
j++;
while(count&&j<n-t){
a[i][j++]=m;
m++;
count--;
}
i--;
j--;
while(count&&i>=t){
a[i--][j]=m;
m++;
count--;
}
i++;
j--;
while(count&&j>t){
a[i][j--]=m;
m++;
count--;
}
i++;
t++;
j++;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%3d",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
逆时针方阵输入(C语言)
最新推荐文章于 2023-04-01 18:49:13 发布