这个问题真是把我难倒了,我改的还是有问题.请帮忙,太在我心中已经郁积了4天.呵呵~~
#include<stdio.h>
//答案7 2 6 3 1 4 5
int cf(int n,int a[80]);
main()
{
int i,j,k,x[10],key;
x[6]=4;
key=1;
for(i=1;i<=7;i++){
for(j=1;j<=7;j++){
x[1]=i;
x[2]=j-3;
x[3]=i-1;
x[4]=15-i-j;
x[5]=13-i-j;
x[7]=j;
if((4-x[2])*(4-x[3])>0){
for(k=1;k<=7;k++){
if(x[k]<=0||x[k]>7)
key=0;
}
}
}
if(cf(7,x[7])){
if(key){
for(i=1;i<=7;i++){
printf("%d ",x[i]);
}
printf("\n");
}
}
}
}
int cf(int n,int a[80]){
int i,j;
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++){
if(a[i]==a[j]){
return 0;
}
else
return 0;
}
}
一分耕耘,一分收获。