#include <stdio.h>
void main()
{
int array[16][16];
int i,j,k,m,n;
m=1;
while(m==1)
{
printf("请输入n(0<n<=15),n是奇数)\n");
scanf("%d",&n);
if(n!=0)&&(n<=15)&&(n%2!=0))
{
printf("矩形阶数是%d\n",n);
m=0;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
array[i][j]=0;
j=n/2+1;
array[1][j]=1;
for(k=2;k<=n*n;k++)
{
i=i-1;
j=j+1;
if((i<1)&&(j>n))
{
i=i+2;
j=j-1;
}
else
{
if(i<1)
i=n;
if(j>n)
j=1;
}
if(array[i][j]==0)
array[i][j]=k;
else
{
i=i+2;
j=j-1;
array[i][j]=k;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%5d",array[i][j];
printf("\n");
}
}
此程序不知那里有问题
-------------------Configuration: 魔方阵 - Win32 Debug--------------------
Compiling...
魔方阵.c
D:\软件\程序包\魔方阵.c(11) : error C2143: syntax error : missing ';' before '&&'
D:\软件\程序包\魔方阵.c(17) : error C2059: syntax error : 'for'
D:\软件\程序包\魔方阵.c(17) : error C2143: syntax error : missing '{' before '<='
D:\软件\程序包\魔方阵.c(17) : error C2059: syntax error : '<='
D:\软件\程序包\魔方阵.c(17) : error C2143: syntax error : missing '{' before '++'
D:\软件\程序包\魔方阵.c(17) : error C2059: syntax error : '++'
D:\软件\程序包\魔方阵.c(17) : error C2059: syntax error : ')'
D:\软件\程序包\魔方阵.c(18) : error C2143: syntax error : missing '{' before '<='
D:\软件\程序包\魔方阵.c(18) : error C2059: syntax error : '<='
D:\软件\程序包\魔方阵.c(18) : error C2143: syntax error : missing '{' before '++'
D:\软件\程序包\魔方阵.c(18) : error C2059: syntax error : '++'
D:\软件\程序包\魔方阵.c(18) : error C2059: syntax error : ')'
D:\软件\程序包\魔方阵.c(20) : error C2065: 'n' : undeclared identifier
D:\软件\程序包\魔方阵.c(20) : error C2099: initializer is not a constant
D:\软件\程序包\魔方阵.c(21) : error C2057: expected constant expression
D:\软件\程序包\魔方阵.c(21) : error C2466: cannot allocate an array of constant size 0
D:\软件\程序包\魔方阵.c(21) : error C2087: '<Unknown>' : missing subscript
D:\软件\程序包\魔方阵.c(21) : error C2075: 'array' : array initialization needs curly braces
D:\软件\程序包\魔方阵.c(22) : error C2059: syntax error : 'for'
D:\软件\程序包\魔方阵.c(22) : error C2143: syntax error : missing '{' before '<='
D:\软件\程序包\魔方阵.c(22) : error C2059: syntax error : '<='
D:\软件\程序包\魔方阵.c(22) : error C2143: syntax error : missing '{' before '++'
D:\软件\程序包\魔方阵.c(22) : error C2059: syntax error : '++'
D:\软件\程序包\魔方阵.c(22) : error C2059: syntax error : ')'
D:\软件\程序包\魔方阵.c(47) : error C2059: syntax error : 'for'
D:\软件\程序包\魔方阵.c(47) : error C2143: syntax error : missing '{' before '<='
D:\软件\程序包\魔方阵.c(47) : error C2059: syntax error : '<='
D:\软件\程序包\魔方阵.c(47) : error C2143: syntax error : missing '{' before '++'
D:\软件\程序包\魔方阵.c(47) : error C2059: syntax error : '++'
D:\软件\程序包\魔方阵.c(47) : error C2059: syntax error : ')'
D:\软件\程序包\魔方阵.c(53) : error C2059: syntax error : '}'
执行 cl.exe 时出错.
魔方阵.obj - 1 error(s), 0 warning(s)
----------------解决方案--------------------------------------------------------
LZ 仔细看一下你的代码,很多地方都写错了,
举个例子:
if((n!=0)&&(n<=15)&&(n%2!=0)) // 这里少了一个(
你自己在检察一下吧....
----------------解决方案--------------------------------------------------------
少两个(
#include <stdio.h>
void main()
{
int array[16][16];
int i,j,k,m,n;
m=1;
while(m==1)
{
printf("请输入n(0<n<=15),n是奇数)\n");
scanf("%d",&n);
if((n!=0)&&(n<=15)&&(n%2!=0))
{
printf("矩形阶数是%d\n",n);
m=0;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
array[i][j]=0;
j=n/2+1;
array[1][j]=1;
for(k=2;k<=n*n;k++)
{
i=i-1;
j=j+1;
if((i<1)&&(j>n))
{
i=i+2;
j=j-1;
}
else
{
if(i<1)
i=n;
if(j>n)
j=1;
}
if(array[i][j]==0)
array[i][j]=k;
else
{
i=i+2;
j=j-1;
array[i][j]=k;
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%5d",array[i][j]);
printf("\n");
}
}
[此贴子已经被作者于2007-10-14 10:20:09编辑过]
----------------解决方案--------------------------------------------------------
不好意思问一下,什么是矩形阶数????
----------------解决方案--------------------------------------------------------
多少唯的.
比如a[3][3]就是3阶的.
----------------解决方案--------------------------------------------------------
哦,知道了!谢谢了.学过的的忘了.刚查了一下,行数与列数都等于N的矩阵为N阶矩阵或N阶方阵.
什么是"多少唯的"还有三维的吗?怎么写啊!!
----------------解决方案--------------------------------------------------------
C语言真是马虎不得,多谢!!!编译通过了
----------------解决方案--------------------------------------------------------
哦,知道了!谢谢了.学过的的忘了.刚查了一下,行数与列数都等于N的矩阵为N阶矩阵或N阶方阵.
什么是"多少唯的"还有三维的吗?怎么写啊!!
a[][][]...
----------------解决方案--------------------------------------------------------
这个错误还真不是一般的多。。。。其实错误提示都很明白的,自己可以修改的
----------------解决方案--------------------------------------------------------
哦,知道了,谢谢nuciewth了
----------------解决方案--------------------------------------------------------