重排九宫格C语言运行图片,刚刚学习C语言.自己写的九宫格().老师帮忙看一看.感觉写的很笨拙...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

//把1到9填到9个格子,成线的3个格子加起来的和是15.

#include

#include

main()

{

long a=111111111L;

int fangan=0;

for(a;a<=999999999;++a)//暴力生成一个数.然后分析这个数是不是符合条件.

{

//首先得判断这个数各个位数上的数不相等.

int b[9]={0};//定义一个数组,用来存放各个数;

int c[9]={0};

int d=0;

for(int i=1;i<=9;++i)

{

if (i==1)

d=100000000;

else if(i==2)

d=10000000;

else if(i==3)

d=1000000;

else if(i==4)

d=100000;

else if(i==5)

d=10000;

else if(i==6)

d=1000;

else if(i==7)

d=100;

else if(i==8)

d=10;

else if(i==9)

d=1;

b[i-1]=a/d%10;

//printf ("%d",b[i-1]);//这几行测试一下看能不能跑

//if(i%3==0)

//printf("\n");

}

if((b[1]!=b[2])&&(b[1]!=b[3])&&(b[1]!=b[4])&&(b[1]!=b[5])&&(b[1]!=b[6])&&(b[1]!=b[7])&&(b[1]!=b[8])&&(b[2]!=b[3])&&(b[2]!=b[4])&&(b[2]!=b[5])&&(b[2]!=b[6])&&(b[2]!=b[7])&&(b[2]!=b[8])&&(b[3]!=b[4])&&(b[3]!=b[5])&&(b[3]!=b[6])&&(b[3]!=b[7])&&(b[3]!=b[8])&&(b[4]!=b[5])&&(b[4]!=b[6])&&(b[4]!=b[7])&&(b[4]!=b[8])&&(b[5]!=b[6])&&(b[5]!=b[7])&&(b[5]!=b[8])&&(b[6]!=b[7])&&(b[6]!=b[8])&&(b[7]!=b[8])&&(b[0]!=b[1])&&(b[0]!=b[2])&&(b[0]!=b[3])&&(b[0]!=b[4])&&(b[0]!=b[5])&&(b[0]!=b[6])&&(b[0]!=b[7])&&(b[0]!=b[8]))

{

if((b[0]*b[1]*b[2]*b[3]*b[4]*b[5]*b[6]*b[7]*b[8])!=0)

{

if ((b[0]+b[1]+b[2]==15 )&&((b[3]+b[4]+b[5])==15)&&((b[6]+b[7]+b[8])==15))

{

if ((b[0]+b[3]+b[6]==15 )&&((b[1]+b[4]+b[7])==15)&&((b[2]+b[5]+b[8])==15))

{

if(((b[2]+b[4]+b[6])==15)&&((b[0]+b[4]+b[8])==15))

{

printf ("%d %d %d\n",b[0],b[1],b[2]);

printf ("%d %d %d\n",b[3],b[4],b[5]);

printf ("%d %d %d\n",b[6],b[7],b[8]);

fangan=fangan+1;

printf("\n方案:%d\n",fangan);

printf("_____________________\n");

printf("_____________________\n");

//system("pause");

}

}

}

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值