
實在不知道哪里出問題了 大佬們救救孩子吧

#include<stdio.h>
int main()
{
int i,j,n,k,l,c=1;
int a[n][n];
//輸入
scanf("%d",&n);
//幾圈
if(n%2==0) k=n/2;
else k=(n-1)/2;
//賦值
for(l=1;l<=k;l++)
{
for(i=(l-1);i<=(n-l-1);i++)//列不變 行變大
{
a[i][n-l]=c;
c++;
}
for(j=(n-l);j>=l;j--)//行不變 列變小
{
a[n-l][j]=c;
c++;
}
for(i=(n-l);i>=l;i--)//列不變 行變小
{
a[i][l-1]=c;
c++;
}
for(j=(l-1);j<=(n-1-l);j++)//行不變 列變大
{
a[l-1][j]=c;
c++;
}
}
//中心點
if(n%2!=0)
{
a[(n-1)/2][(n-1)/2]=c;
}
//輸出
for(i=0;i<=(n-1);i++)
{
for(j=0;j<=(n-1);j++)
{
if(j==(n-1)) printf("%d\n",a[i][j]);
else printf("%d ",a[i][j]);
}
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/193129.html
標籤:新手樂園
上一篇:求中間值
