当前位置: 代码迷 >> C语言 >> 魔方阵
  详细解决方案

魔方阵

热度:474   发布时间:2007-10-13 23:51:42.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");
}
}
此程序不知那里有问题
-------------------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语言真是马虎不得,多谢!!!编译通过了


----------------解决方案--------------------------------------------------------
以下是引用天人和一在2007-10-14 15:30:13的发言:




哦,知道了!谢谢了.学过的的忘了.刚查了一下,行数与列数都等于N的矩阵为N阶矩阵或N阶方阵.

什么是"多少唯的"还有三维的吗?怎么写啊!!

a[][][]...


----------------解决方案--------------------------------------------------------
这个错误还真不是一般的多。。。。其实错误提示都很明白的,自己可以修改的
----------------解决方案--------------------------------------------------------





哦,知道了,谢谢nuciewth了
----------------解决方案--------------------------------------------------------
  相关解决方案