+__+~程序有问题,(菜鸟求助)快来帮我看看~+__+

2025-05-17 21:48:41
推荐回答(1个)
回答(1):

编译的9个错误是由于两个语法错误导致的,我帮你改好了,算法问题自己看一下吧:
#include
#include
#define n 4
main()
{
int i,j,s,p,k,a[n][n]={0};// 问题1.对于数组a的初始化需要在声明的时候做
//a[n][n]={0}; //在这里做的时候,就变成了对于数组a的第n行n列的成员的赋值了,而赋值时不能带{},所以报错
i=0;
j=0;
s=1;
k=1;
a[i][j]=k;

for(p=2;p<2*n;p++) //问题2.2n是数学写法,在C/C++中要写为2*n
{
switch (s)
{
case 1:
while(a[i][j+1]==0||js=2;
break;
case 2:
while(a[i+1][j]==0||is=3;
break;
case 3:
while(a[i][j-1]==0||j>-1)a[i][j--]=k++;
s=4;
break;
case 4:
while(a[i-1][j]==0)a[i--][j]=k++;
s=1;
break;
}
}
for(i=0;i{
for(j=0;jif(j==n-1)printf("\n");
}

}