下面的这是我自己参考网上搜的那个程序改的,可是运行不出正确结果来,还请大家帮忙看看,错误出在哪里,拜托各位了,不胜感激!
#include"stdio.h"
#include"conio.h"
main()
{ int a[21][21]={0};
int i,j,k,s,m,t,N,sum;
clrscr();
printf("Please input 4<=N<=21: N=");
scanf("%d",&N);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
for(a[i][j]=0;a[i][j]<=1;a[i][j]++)
{ s=a[i-1][j]; /*上*/
if(i-2>=0) s+=a[i-2][j]; /*上上*/
if(i-1>=0) {if(j-1>=0)
s+=a[i-1][j-1]; /*上左*/
if(j+1<N) s+=a[i-1][j+1]; /*上右*/
}
if(s<=1) a[i][j]=1-s; /*self*/
else if(s<=3) a[i][j]=3-s;
else a[i][j]=1;
for(k=0;k<N;k++)
{ t=a[N-1][k]+a[N][k]; /*上self*/
if(k-1>=0) t+=a[N][k-1]; /* 左*/
if(k+1<N) t+=a[N][k+1]; /*右*/
if(t%2==0) continue;
}
if(k==N) {printf("\n OK!\n");
sum=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{ sum+=a[i][j];
if((i*N+j)%k==0) printf("\n");
printf("%2d",a[i][j]);}
printf("\nDian ji ci shu:%2d.\n\n",sum);
getch();
}
}
}
等待中。。。。。。