C语言循环语句编程

( )+13*() /( ) +( ) +12*( ) -( ) -11 +( ) *( ) /( ) - 10=66
每个空格填入1个数字(数字1-9必须且只能出现1次)

设9个变量,利用循环嵌套,得出括号内的各数字

求大神

第1个回答  2015-05-22

共128答案:

<001> : 1 2 6 4 7 8 3 5 9

<002> : 1 2 6 4 7 8 5 3 9

<003> : 1 3 2 4 5 8 7 9 6

<004> : 1 3 2 4 5 8 9 7 6

<005> : 1 3 2 9 5 6 4 7 8

<006> : 1 3 2 9 5 6 7 4 8

<007> : 1 3 4 7 6 5 2 9 8

<008> : 1 3 4 7 6 5 9 2 8

<009> : 1 3 6 2 7 9 4 5 8

<010> : 1 3 6 2 7 9 5 4 8

<011> : 1 3 9 4 7 8 2 5 6

<012> : 1 3 9 4 7 8 5 2 6

<013> : 1 4 8 2 7 9 3 5 6

<014> : 1 4 8 2 7 9 5 3 6

<015> : 1 5 2 3 4 8 7 9 6

<016> : 1 5 2 3 4 8 9 7 6

<017> : 1 5 2 8 4 7 3 9 6

<018> : 1 5 2 8 4 7 9 3 6

<019> : 1 5 3 9 4 2 7 8 6

<020> : 1 5 3 9 4 2 8 7 6

<021> : 1 9 6 4 5 8 3 7 2

<022> : 1 9 6 4 5 8 7 3 2

<023> : 1 9 6 7 5 2 3 4 8

<024> : 1 9 6 7 5 2 4 3 8

<025> : 2 1 4 3 7 9 5 6 8

<026> : 2 1 4 3 7 9 6 5 8

<027> : 2 3 6 1 7 9 4 5 8

<028> : 2 3 6 1 7 9 5 4 8

<029> : 2 4 8 1 7 9 3 5 6

<030> : 2 4 8 1 7 9 5 3 6

<031> : 2 8 6 9 4 1 5 7 3

<032> : 2 8 6 9 4 1 7 5 3

<033> : 2 9 6 3 5 1 4 7 8

<034> : 2 9 6 3 5 1 7 4 8

<035> : 3 1 4 2 7 9 5 6 8

<036> : 3 1 4 2 7 9 6 5 8

<037> : 3 2 1 5 4 7 8 9 6

<038> : 3 2 1 5 4 7 9 8 6

<039> : 3 2 4 8 5 1 7 9 6

<040> : 3 2 4 8 5 1 9 7 6

<041> : 3 2 8 6 5 1 7 9 4

<042> : 3 2 8 6 5 1 9 7 4

<043> : 3 5 2 1 4 8 7 9 6

<044> : 3 5 2 1 4 8 9 7 6

<045> : 3 6 4 9 5 8 1 7 2

<046> : 3 6 4 9 5 8 7 1 2

<047> : 3 9 2 8 1 5 6 7 4

<048> : 3 9 2 8 1 5 7 6 4

<049> : 3 9 6 2 5 1 4 7 8

<050> : 3 9 6 2 5 1 7 4 8

<051> : 4 2 6 1 7 8 3 5 9

<052> : 4 2 6 1 7 8 5 3 9

<053> : 4 3 2 1 5 8 7 9 6

<054> : 4 3 2 1 5 8 9 7 6

<055> : 4 3 9 1 7 8 2 5 6

<056> : 4 3 9 1 7 8 5 2 6

<057> : 4 9 6 1 5 8 3 7 2

<058> : 4 9 6 1 5 8 7 3 2

<059> : 5 1 2 9 6 7 3 4 8

<060> : 5 1 2 9 6 7 4 3 8

<061> : 5 2 1 3 4 7 8 9 6

<062> : 5 2 1 3 4 7 9 8 6

<063> : 5 3 1 7 2 6 8 9 4

<064> : 5 3 1 7 2 6 9 8 4

<065> : 5 4 1 9 2 7 3 8 6

<066> : 5 4 1 9 2 7 8 3 6

<067> : 5 4 8 9 6 7 1 3 2

<068> : 5 4 8 9 6 7 3 1 2

<069> : 5 7 2 8 3 9 1 6 4

<070> : 5 7 2 8 3 9 6 1 4

<071> : 5 9 3 6 2 1 7 8 4

<072> : 5 9 3 6 2 1 8 7 4

<073> : 6 2 8 3 5 1 7 9 4

<074> : 6 2 8 3 5 1 9 7 4

<075> : 6 3 1 9 2 5 7 8 4

<076> : 6 3 1 9 2 5 8 7 4

<077> : 6 9 3 5 2 1 7 8 4

<078> : 6 9 3 5 2 1 8 7 4

<079> : 7 1 4 9 6 5 2 3 8

<080> : 7 1 4 9 6 5 3 2 8

<081> : 7 2 8 9 6 5 1 3 4

<082> : 7 2 8 9 6 5 3 1 4

<083> : 7 3 1 5 2 6 8 9 4

<084> : 7 3 1 5 2 6 9 8 4

<085> : 7 3 2 8 5 9 1 6 4

<086> : 7 3 2 8 5 9 6 1 4

<087> : 7 3 4 1 6 5 2 9 8

<088> : 7 3 4 1 6 5 9 2 8

<089> : 7 5 2 8 4 9 1 3 6

<090> : 7 5 2 8 4 9 3 1 6

<091> : 7 6 4 8 5 9 1 3 2

<092> : 7 6 4 8 5 9 3 1 2

<093> : 7 9 6 1 5 2 3 4 8

<094> : 7 9 6 1 5 2 4 3 8

<095> : 8 2 4 3 5 1 7 9 6

<096> : 8 2 4 3 5 1 9 7 6

<097> : 8 3 2 7 5 9 1 6 4

<098> : 8 3 2 7 5 9 6 1 4

<099> : 8 5 2 1 4 7 3 9 6

<100> : 8 5 2 1 4 7 9 3 6

<101> : 8 5 2 7 4 9 1 3 6

<102> : 8 5 2 7 4 9 3 1 6

<103> : 8 6 4 7 5 9 1 3 2

<104> : 8 6 4 7 5 9 3 1 2

<105> : 8 7 2 5 3 9 1 6 4

<106> : 8 7 2 5 3 9 6 1 4

<107> : 8 9 2 3 1 5 6 7 4

<108> : 8 9 2 3 1 5 7 6 4

<109> : 9 1 2 5 6 7 3 4 8

<110> : 9 1 2 5 6 7 4 3 8

<111> : 9 1 4 7 6 5 2 3 8

<112> : 9 1 4 7 6 5 3 2 8

<113> : 9 2 8 7 6 5 1 3 4

<114> : 9 2 8 7 6 5 3 1 4

<115> : 9 3 1 6 2 5 7 8 4

<116> : 9 3 1 6 2 5 8 7 4

<117> : 9 3 2 1 5 6 4 7 8

<118> : 9 3 2 1 5 6 7 4 8

<119> : 9 4 1 5 2 7 3 8 6

<120> : 9 4 1 5 2 7 8 3 6

<121> : 9 4 8 5 6 7 1 3 2

<122> : 9 4 8 5 6 7 3 1 2

<123> : 9 5 3 1 4 2 7 8 6

<124> : 9 5 3 1 4 2 8 7 6

<125> : 9 6 4 3 5 8 1 7 2

<126> : 9 6 4 3 5 8 7 1 2

<127> : 9 8 6 2 4 1 5 7 3

<128> : 9 8 6 2 4 1 7 5 3

Press any key to continue

// ()+13*()/()+()+12*()-()-11+()*()/()-10 = 66
#include <stdio.h>
#include <math.h>

int main() {
double i[9],res;
int j,cnt = 0;
for(i[0] = 1; i[0] < 10; ++i[0]) {
for(i[1] = 1; i[1] < 10; ++i[1]) {
if(i[1] == i[0]) continue;
for(i[2] = 1; i[2] < 10; ++i[2]) {
if(i[2] == i[1] || i[2] == i[0]) continue;
for(i[3] = 1; i[3] < 10; ++i[3]) {
if(i[3] == i[2] || i[3] == i[1] || i[3] == i[0]) continue;
for(i[4] = 1; i[4] < 10; ++i[4]) {
if(i[4] == i[3] || i[4] == i[2] || i[4] == i[1] || i[4] == i[0]) continue;
for(i[5] = 1; i[5] < 10; ++i[5]) {
if(i[5] == i[4] || i[5] == i[3] || i[5] == i[2] || i[5] == i[1] || i[5] == i[0]) continue;
for(i[6] = 1; i[6] < 10; ++i[6]) {
if(i[6] == i[5] || i[6] == i[4] || i[6] == i[3] || i[6] == i[2] || i[6] == i[1] || i[6] == i[0]) continue;
for(i[7] = 1; i[7] < 10; ++i[7]) {
if(i[7] == i[6] || i[7] == i[5] || i[7] == i[4] || i[7] == i[3] || i[7] == i[2] || i[7] == i[1] || i[7] == i[0]) continue;
for(i[8] = 1; i[8] < 10; ++i[8]) {
if(i[8] == i[7] || i[8] == i[6] || i[8] == i[5] || i[8] == i[4] || i[8] == i[3] || i[8] == i[2] || i[8] == i[1] || i[8] == i[0]) continue;
res = i[0] + 13*i[1]/i[2] + i[3] + 12*i[4] - i[5] - 11 + i[6] * i[7]/i[8] - 10;
if(res == 66) {
printf("<%03d> : ",++cnt);
for(j = 0; j < 9; ++j) printf("%.0lf ",i[j]);
printf("\n");
}
}
}
}
}
}
}
}
}
}
return 0;
}

本回答被网友采纳
第2个回答  推荐于2016-02-21
#include "stdio.h"
#include "math.h"

int a[9];

void cal(void)
{
int a1,a2,a3,a4,a5,a6,a7,a8,a9,sum;
for(a1=1;a1<=9;a1++)
{
for(a2=1;a2<=9;a2++)
{
if (a2 == a1) continue;
for(a3=1;a3<=9;a3++)
{
if( (a3 == a1) ||(a2 ==a3))continue;
for(a4=1;a4<=9;a4++)

{
if( (a4 == a1) || (a4 == a2)||(a4 == a3)) continue;
for(a5=1;a5<=9;a5++)
{
if ( (a5== a1) || (a5 == a2)||(a5 == a3)||(a5 == a4) )continue;
for(a6=1;a6<=9;a6++)
{
if ( (a6== a1) || (a6 == a2)||(a6== a3)||(a6 == a4)|| (a6 == a5) )continue;
for(a7=1;a7<=9;a7++)
{
if ( (a7== a1) || (a7 == a2)||(a7== a3)||(a7 == a4)|| (a7== a5)||(a7==a6) )
continue;
for(a8=1;a8<=9;a8++)
{
if ( (a8== a1) || (a8 == a2)||(a8== a3)||(a8== a4)|| (a8== a5)||(a8==a6) || (a8== a7))
continue;
for(a9=1;a9<=9;a9++)
{
if( (a9== a1) || (a9== a2)||(a9== a3)||(a9== a4)|| (a9== a5)||(a9==a6) || (a9== a7)||(a9==a8))
continue;
sum= a1+13*a2 /a3+a4+12*a5-a6+a7*a8*a9
if (sum == 87)
{
printf("%d %d %d %d %d %d %d %d %d",a1,a2,a3,a4,a5,a6,a7,a8,a9);
}
}
}
}
}
}
}
}
}
}
}

void main(void )
{
cal();

}追问

辛苦了,答案是?如果结果正确,我给你加分

追答

自己运行一下吧,sum 的分号加上就可以了。

追问

没条件

相似回答