日暮迟归 2022-10-27 08:55 采纳率: 75%
浏览 19
已结题

魔方阵,编程有问题。输入n,输出相应的魔方阵

#include <stdio.h>
#include <math.h>
int main(){
int n,b,t,i,j;
scanf("%d",&n);
t=pow(n,1/2);
int a[t][t];
a[0][(t-1)/2]=1;
i=t-1;j=t-1;b=2;
a[i][j]=b;
for(b=2;b<=n;b++)
{if(i==0)
i=t-1;
a[i][j]=b+1;};
for(b=2;b<=n;b++)
{if(j=t-1)
j=0,i=i-1;
a[i][j]=b+1;};
for(b=2;b<=n;b++)
{if(a[i-1][j+1]!=0||i==0,j==t)
{i=i-1;
a[i][j]=b+1;};};
for(b=2;b<=n;b++)
{if(i!=0&&j!=t-1&&a[i-1][j+1]==0)
i=i-1,j=j+1;
a[i][j]=b+1;};
for(i=0;i<=t-1;i++)
{for(j=0;j<=t-1;j++)
{printf("%d\t",a[i][j]);};
printf("\n");};

return 0;

}

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月28日
  • 创建了问题 10月27日