1、课 程 设 计 报 告学院、系: 吉林大学珠海学院计算机科学与技术系专业名称: 软件工程课程设计科目 C 语言程序课程设计学生姓名: 杨记祥指导教师: 张东娜完成时间: 2010 年 3 月-5 月计算 24 游戏一、设计任务与目标题目要求在输入 4 个数后,程序对这个 4 个数进行运算,若能计算出结果等于 24,即输出运算过程。接到题目的时候,手上并无其他资料,需要自己全动手设计才能到达目标,而目标是在输入四个数之后,先进行全排列,然后进行全运算,从而最终得到结果以输出。二、方案设计与论证关于这个计算 24 游戏的设计,首先我将题目看成两部分,一部分为运算数,一部分为运算符。首先由于有四个数
2、,则只有三个运算符,由于涉及了括号,个人认为用穷举法才能全面地进行说有的运算,我们可以将运算符和括号这部分归为主运算部分,在这部分中,运算数的位置固定,但是运算符和括号的位置会改变,而且程序主要就是在这部分运算,直接将数值引入,然后计算判断是否等于 24,若等于 24,则输出数值和这些运算符、括号的位置构成的运算式;然而,这是不够全面的,因为还要考虑运算数的排列位置,于是有了第二部分,运算数的位置全排列,同样是采用穷举法,将运算数全排列,在每个排列后面调用主运算的方法,从而达到全面不遗漏地计算。在 MAIN 函数中,我们仅需要记录输入的 4 个数字,然后将数值用在全排列函数中即可。整个程序的设
3、计看起来很繁琐,但在运用上很简单,能简明扼要地表现出来。三、程序框图或流程图,程序清单与调用关系开始输入 4 个数赋值进行排列方法在排列方法中运算判断运算是否等于 24输出运算式是结束四、全部源程序清单#include void jisuan(float a,float b,float c,float d) /进行运算符和括号的排列及计算if(a+b+c+d=24) printf(“%1.0f+%1.0f+%1.0f+%1.0f=24n“,a,b,c,d);if(a+b+c-d=24) printf(“%1.0f+%1.0f+%1.0f-%1.0f=24n“,a,b,c,d);if(a+b+c
4、*d=24) printf(“%1.0f+%1.0f+%1.0f*%1.0f=24n“,a,b,c,d);if(a+(b+c)*d=24) printf(“%1.0f+(%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d);if(a+b+c)*d=24) printf(“(%1.0f+%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d);if(a+b+c/d=24) printf(“%1.0f+%1.0f+%1.0f/%1.0f=24n“,a,b,c,d);if(a+(b+c)/d=24) printf(“%1.0f+(%1.0f+%1.0f)/%1.0f=24n“,a
5、,b,c,d);if(a+b+c)/d=24) printf(“(%1.0f+%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d);if(a+b-c+d=24) printf(“%1.0f+%1.0f-%1.0f+%1.0f=24n“,a,b,c,d);if(a+b-c-d=24) printf(“%1.0f+%1.0f-%1.0f-%1.0f=24n“,a,b,c,d);if(a+b-c*d=24) printf(“%1.0f+%1.0f-%1.0f*%1.0f=24n“,a,b,c,d);if(a+(b-c)*d=24) printf(“%1.0f+(%1.0f-%1.0f)*
6、%1.0f=24n“,a,b,c,d);if(a+b-c)*d=24) printf(“(%1.0f+%1.0f-%1.0f)*%1.0f=24n“,a,b,c,d);if(a+b-c/d=24) printf(“%1.0f+%1.0f-%1.0f/%1.0f=24n“,a,b,c,d);if(a+(b-c)/d=24) printf(“%1.0f+(%1.0f-%1.0f)/%1.0f=24n“,a,b,c,d);if(a+b-c)/d=24) printf(“(%1.0f+%1.0f-%1.0f)/%1.0f=24n“,a,b,c,d);if(a+b*c+d=24) printf(“%1.
7、0f+%1.0f*%1.0f+%1.0f=24n“,a,b,c,d);if(a+b)*c+d=24) printf(“(%1.0f+%1.0f)*%1.0f+%1.0f=24n“,a,b,c,d);if(a+b*(c+d)=24) printf(“%1.0f+%1.0f*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a+b)*(c+d)=24) printf(“(%1.0f+%1.0f)*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a+b*c-d=24)printf(“%1.0f+%1.0f*%1.0f-%1.0f=24n“,a,b,c,d);if(a+b)*
8、c-d=24) printf(“(%1.0f+%1.0f)*%1.0f-%1.0f=24n“,a,b,c,d);if(a+b*(c-d)=24) printf(“%1.0f+%1.0f*(%1.0f-%1.0f)=24n“,a,b,c,d);if(a+b)*(c-d)=24) printf(“(%1.0f+%1.0f)*(%1.0f-%1.0f)=24n“,a,b,c,d);if(a+b*c*d=24) printf(“%1.0f+%1.0f*%1.0f*%1.0f=24n“,a,b,c,d);if(a+b)*c*d=24) printf(“(%1.0f+%1.0f)*%1.0f*%1.0f=
9、24n“,a,b,c,d);if(a+b*c/d=24) printf(“%1.0f+%1.0f*%1.0f/%1.0f=24n“,a,b,c,d);if(a+b)*c/d=24) printf(“(%1.0f+%1.0f)*%1.0f/%1.0f=24n“,a,b,c,d);if(a+b)*(c/d)=24) printf(“(%1.0f+%1.0f)*(%1.0f/%1.0f)=24n“,a,b,c,d);if(a+b/c+d=24) printf(“%1.0f+%1.0f/%1.0f+%1.0f=24n“,a,b,c,d);if(a+b)/c+d=24) printf(“(%1.0f+%
10、1.0f)/%1.0f+%1.0f=24n“,a,b,c,d);if(a+b/(c+d)=24) printf(“%1.0f+%1.0f/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a+b)/(c+d)=24) printf(“(%1.0f+%1.0f)/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a+b/c-d=24)printf(“%1.0f+%1.0f/%1.0f+%1.0f=24n“,a,b,c,d);if(a+b)/c-d=24) printf(“(%1.0f+%1.0f)/%1.0f-%1.0f=24n“,a,b,c,d);if(a+b/(c-d
11、)=24) printf(“%1.0f+%1.0f/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a+b)/(c-d)=24) printf(“(%1.0f+%1.0f)/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a+b/c*d=24) printf(“%1.0f+%1.0f/%1.0f*%1.0f=24n“,a,b,c,d);if(a+b)/c*d=24) printf(“(%1.0f+%1.0f)/%1.0f*%1.0f=24n“,a,b,c,d);if(a+b)/(c*d)=24) printf(“(%1.0f+%1.0f)/(%1.0f*%1.0f)
12、=24n“,a,b,c,d);if(a+b/c/d=24) printf(“%1.0f+%1.0f/%1.0f/%1.0f=24n“,a,b,c,d);if(a+b)/c/d=24) printf(“(%1.0f+%1.0f)/%1.0f/%1.0f=24n“,a,b,c,d);if(a+b)/(c/d)=24) printf(“(%1.0f+%1.0f)/(%1.0f/%1.0f)=24n“,a,b,c,d);/-if(a-b+c+d=24) printf(“%1.0f-%1.0f+%1.0f+%1.0f=24n“,a,b,c,d);if(a-b+c-d=24) printf(“%1.0f-
13、%1.0f+%1.0f-%1.0f=24n“,a,b,c,d);if(a-b+c*d=24) printf(“%1.0f-(%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d);if(a-(b+c)*d=24) printf(“%1.0f-%1.0f+%1.0f*%1.0f=24n“,a,b,c,d);if(a-b+c)*d=24) printf(“(%1.0f-%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d);if(a-b+c/d=24) printf(“%1.0f-%1.0f+%1.0f/%1.0f=24n“,a,b,c,d);if(a-(b+c)/d=24)
14、printf(“%1.0f-(%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d);if(a-b+c)/d=24) printf(“(%1.0f-%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d);if(a-b-c+d=24) printf(“%1.0f-%1.0f-%1.0f+%1.0f=24n“,a,b,c,d);if(a-b-c-d=24) printf(“%1.0f-%1.0f-%1.0f-%1.0f=24n“,a,b,c,d);if(a-b-c*d=24) printf(“%1.0f-%1.0f-%1.0f*%1.0f=24n“,a,b,c,d);if(a-
15、(b-c)*d=24) printf(“%1.0f-(%1.0f-%1.0f)*%1.0f=24n“,a,b,c,d);if(a-b-c)*d=24) printf(“(%1.0f-%1.0f-%1.0f)*%1.0f=24n“,a,b,c,d);if(a-b-c/d=24) printf(“%1.0f-%1.0f-%1.0f/%1.0f=24n“,a,b,c,d);if(a-(b-c)/d=24) printf(“%1.0f-(%1.0f-%1.0f)/%1.0f=24n“,a,b,c,d);if(a-b-c)/d=24) printf(“%1.0f-%1.0f-%1.0f/%1.0f=24
16、n“,a,b,c,d);if(a-b*c+d=24) printf(“%1.0f-%1.0f*%1.0f+%1.0f=24n“,a,b,c,d);if(a-b)*c+d=24) printf(“(%1.0f-%1.0f)*%1.0f+%1.0f=24n“,a,b,c,d);if(a-b*(c+d)=24) printf(“%1.0f-%1.0f*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a-b)*(c+d)=24) printf(“(%1.0f-%1.0f)*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a-b*c-d=24)printf(“%1.0f-%1
17、.0f*%1.0f-%1.0f=24n“,a,b,c,d);if(a-b)*c-d=24) printf(“(%1.0f-%1.0f)*%1.0f-%1.0f=24n“,a,b,c,d);if(a-b*(c-d)=24) printf(“%1.0f-%1.0f*(%1.0f-%1.0f)=24n“,a,b,c,d);if(a-b)*(c-d)=24) printf(“(%1.0f-%1.0f)*(%1.0f-%1.0f)=24n“,a,b,c,d);if(a-b*c*d=24) printf(“%1.0f-%1.0f*%1.0f*%1.0f=24n“,a,b,c,d);if(a-b)*c*d=
18、24) printf(“(%1.0f-%1.0f)*%1.0f*%1.0f=24n“,a,b,c,d);if(a-b*c/d=24) printf(“%1.0f-%1.0f*%1.0f/%1.0f=24n“,a,b,c,d);if(a-b)*c/d=24) printf(“(%1.0f-%1.0f)*%1.0f/%1.0f=24n“,a,b,c,d);if(a-b)*(c/d)=24) printf(“(%1.0f-%1.0f)*(%1.0f/%1.0f)=24n“,a,b,c,d);if(a-b/c+d=24) printf(“%1.0f-%1.0f/%1.0f+%1.0f=24n“,a,b
19、,c,d);if(a-b)/c+d=24) printf(“(%1.0f-%1.0f)/%1.0f+%1.0f=24n“,a,b,c,d);if(a-b/(c+d)=24) printf(“%1.0f-%1.0f/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a-b)/(c+d)=24) printf(“(%1.0f-%1.0f)/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a-b/c-d=24)printf(“%1.0f-%1.0f/%1.0f+%1.0f=24n“,a,b,c,d);if(a-b)/c-d=24) printf(“(%1.0f-%1.0f)
20、/%1.0f-%1.0f=24n“,a,b,c,d);if(a-b/(c-d)=24) printf(“%1.0f-%1.0f/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a-b)/(c-d)=24) printf(“(%1.0f-%1.0f)/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a-b/c*d=24) printf(“%1.0f-%1.0f/%1.0f*%1.0f=24n“,a,b,c,d);if(a-b)/c*d=24) printf(“(%1.0f-%1.0f)/%1.0f*%1.0f=24n“,a,b,c,d);if(a-b)/(c*d)=2
21、4) printf(“(%1.0f-%1.0f)/(%1.0f*%1.0f)=24n“,a,b,c,d);if(a-b/c/d=24) printf(“%1.0f-%1.0f/%1.0f/%1.0f=24n“,a,b,c,d);if(a-b)/c/d=24) printf(“(%1.0f-%1.0f)/%1.0f/%1.0f=24n“,a,b,c,d);if(a-b)/(c/d)=24) printf(“(%1.0f-%1.0f)/(%1.0f/%1.0f)=24n“,a,b,c,d);/-if(a*b+c+d=24) printf(“%1.0f*%1.0f+%1.0f+%1.0f=24n“,
22、a,b,c,d);if(a*(b+c)+d=24) printf(“%1.0f*(%1.0f+%1.0f)+%1.0f=24n“,a,b,c,d);if(a*(b+c+d)=24) printf(“%1.0f*(%1.0f+%1.0f+%1.0f)=24n“,a,b,c,d);if(a*b+c-d=24) printf(“%1.0f*%1.0f+%1.0f-%1.0f=24n“,a,b,c,d);if(a*(b+c)-d=24) printf(“%1.0f*(%1.0f+%1.0f)-%1.0f=24n“,a,b,c,d);if(a*(b+c-d)=24) printf(“%1.0f*(%1.
23、0f+%1.0f-%1.0f)=24n“,a,b,c,d);if(a*b+c*d=24) printf(“%1.0f*%1.0f+%1.0f*%1.0f=24n“,a,b,c,d);if(a*(b+c)*d=24) printf(“%1.0f*(%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d);if(a*b+c/d=24) printf(“%1.0f*%1.0f+%1.0f/%1.0f=24n“,a,b,c,d);if(a*(b+c)/d=24) printf(“%1.0f*(%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d);if(a*b-c+d=24) pri
24、ntf(“%1.0f*%1.0f-%1.0f+%1.0f=24n“,a,b,c,d);if(a*(b-c)+d=24) printf(“%1.0f*(%1.0f-%1.0f)+%1.0f=24n“,a,b,c,d);if(a*(b-c+d)=24) printf(“%1.0f*(%1.0f-%1.0f+%1.0f)=24n“,a,b,c,d);if(a*b-c-d=24) printf(“%1.0f*%1.0f-%1.0f-%1.0f=24n“,a,b,c,d);if(a*(b-c)-d=24) printf(“%1.0f*(%1.0f-%1.0f)-%1.0f=24n“,a,b,c,d);i
25、f(a*(b-c-d)=24) printf(“%1.0f*(%1.0f-%1.0f-%1.0f)=24n“,a,b,c,d);if(a*b-c*d=24) printf(“%1.0f*%1.0f-%1.0f*%1.0f=24n“,a,b,c,d);if(a*(b-c)*d=24) printf(“%1.0f*(%1.0f-%1.0f)*%1.0f=24n“,a,b,c,d);if(a*b-c/d=24) printf(“%1.0f*%1.0f-%1.0f/%1.0f=24n“,a,b,c,d);if(a*(b-c)/d=24) printf(“%1.0f*(%1.0f-%1.0f)/%1.0
26、f=24n“,a,b,c,d);if(a*b*c+d=24) printf(“%1.0f*%1.0f*%1.0f+%1.0f=24n“,a,b,c,d);if(a*b*(c+d)=24) printf(“%1.0f*%1.0f*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a*b*c-d=24) printf(“%1.0f*%1.0f*%1.0f-%1.0f=24n“,a,b,c,d);if(a*b*(c-d)=24) printf(“%1.0f*%1.0f*(%1.0f-%1.0f)=24n“,a,b,c,d);if(a*b*c*d=24) printf(“%1.0f*%1.
27、0f*%1.0f*%1.0f=24n“,a,b,c,d);if(a*b*c/d=24) printf(“%1.0f*%1.0f*%1.0f/%1.0f=24n“,a,b,c,d);if(a*b*(c/d)=24) printf(“%1.0f*%1.0f*(%1.0f/%1.0f)=24n“,a,b,c,d);if(a*b/c+d=24) printf(“%1.0f*%1.0f/%1.0f+%1.0f=24n“,a,b,c,d);if(a*b/(c+d)=24) printf(“%1.0f*%1.0f/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a*b/c-d=24) prin
28、tf(“%1.0f*%1.0f/%1.0f-%1.0f=24n“,a,b,c,d);if(a*b/(c-d)=24) printf(“%1.0f*%1.0f/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a*b/c*d=24) printf(“%1.0f*%1.0f/%1.0f*%1.0f=24n“,a,b,c,d);if(a*(b/c)*d=24) printf(“%1.0f*(%1.0f/%1.0f)*%1.0f=24n“,a,b,c,d);if(a*b/(c*d)=24) printf(“%1.0f*%1.0f/(%1.0f*%1.0f)=24n“,a,b,c,d);if
29、(a*b/c/d=24) printf(“%1.0f*%1.0f/%1.0f/%1.0f=24n“,a,b,c,d);if(a*(b/c)/d=24) printf(“%1.0f*(%1.0f/%1.0f)/%1.0f=24n“,a,b,c,d);if(a*b/(c/d)=24) printf(“%1.0f*%1.0f/(%1.0f/%1.0f)=24n“,a,b,c,d);/-if(a/b+c+d=24) printf(“%1.0f/%1.0f+%1.0f+%1.0f=24n“,a,b,c,d);if(a/(b+c)+d=24) printf(“%1.0f/(%1.0f+%1.0f)+%1.
30、0f=24n“,a,b,c,d);if(a/(b+c+d)=24) printf(“%1.0f/(%1.0f+%1.0f+%1.0f)=24n“,a,b,c,d);if(a/b+c-d=24) printf(“%1.0f/%1.0f+%1.0f-%1.0f=24n“,a,b,c,d);if(a/(b+c)-d=24) printf(“%1.0f/(%1.0f+%1.0f)-%1.0f=24n“,a,b,c,d);if(a/(b+c-d)=24) printf(“%1.0f/(%1.0f+%1.0f-%1.0f)=24n“,a,b,c,d);if(a/b+c*d=24) printf(“%1.0
31、f/%1.0f+%1.0f*%1.0f=24n“,a,b,c,d);if(a/(b+c)*d=24) printf(“%1.0f/(%1.0f+%1.0f)*%1.0f=24n“,a,b,c,d);if(a/(b+c)*d)=24) printf(“%1.0f/(%1.0f+%1.0f)*%1.0f)=24n“,a,b,c,d);if(a/b+c/d=24) printf(“%1.0f/%1.0f+%1.0f/%1.0f=24n“,a,b,c,d);if(a/(b+c)/d=24) printf(“%1.0f/(%1.0f+%1.0f)/%1.0f=24n“,a,b,c,d);if(a/(b+
32、c)/d)=24) printf(“%1.0f/(%1.0f+%1.0f)/%1.0f)=24n“,a,b,c,d);if(a/b-c+d=24) printf(“%1.0f/%1.0f-%1.0f+%1.0f=24n“,a,b,c,d);if(a/(b-c)+d=24) printf(“%1.0f/(%1.0f-%1.0f)+%1.0f=24n“,a,b,c,d);if(a/(b-c+d)=24) printf(“%1.0f/(%1.0f-%1.0f+%1.0f)=24n“,a,b,c,d);if(a/b-c-d=24) printf(“%1.0f/%1.0f-%1.0f-%1.0f=24n
33、“,a,b,c,d);if(a/(b-c)-d=24) printf(“%1.0f/(%1.0f-%1.0f)-%1.0f=24n“,a,b,c,d);if(a/(b-c-d)=24) printf(“%1.0f/(%1.0f-%1.0f-%1.0f)=24n“,a,b,c,d);if(a/b-c*d=24) printf(“%1.0f/%1.0f-%1.0f*%1.0f=24n“,a,b,c,d);if(a/(b-c)*d=24) printf(“%1.0f/(%1.0f-%1.0f)*%1.0f=24n“,a,b,c,d);if(a/(b-c)*d)=24) printf(“%1.0f/(
34、%1.0f-%1.0f)*%1.0f)=24n“,a,b,c,d);if(a/b-c/d=24) printf(“%1.0f/%1.0f-%1.0f/%1.0f=24n“,a,b,c,d);if(a/(b-c)/d=24) printf(“%1.0f/(%1.0f-%1.0f)/%1.0f=24n“,a,b,c,d);if(a/(b-c)/d)=24) printf(“%1.0f/(%1.0f-%1.0f)/%1.0f)=24n“,a,b,c,d);if(a/b*c+d=24) printf(“%1.0f/%1.0f*%1.0f+%1.0f=24n“,a,b,c,d);if(a/b*(c+d)
35、=24) printf(“%1.0f/%1.0f*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a/(b*c+d)=24) printf(“%1.0f/(%1.0f*%1.0f+%1.0f)=24n“,a,b,c,d);if(a/(b*(c+d)=24) printf(“%1.0f/(%1.0f*(%1.0f+%1.0f)=24n“,a,b,c,d);if(a/b*c-d=24) printf(“%1.0f/%1.0f*%1.0f-%1.0f=24n“,a,b,c,d);if(a/b*(c-d)=24) printf(“%1.0f/%1.0f*(%1.0f-%1.0f)=24n
36、“,a,b,c,d);if(a/(b*c-d)=24) printf(“%1.0f/(%1.0f*%1.0f-%1.0f)=24n“,a,b,c,d);if(a/(b*(c-d)=24) printf(“%1.0f/(%1.0f*(%1.0f-%1.0f)=24n“,a,b,c,d);if(a/b*c*d=24) printf(“%1.0f/%1.0f*%1.0f*%1.0f=24n“,a,b,c,d);if(a/(b*c)*d=24) printf(“%1.0f/(%1.0f*%1.0f)*%1.0f=24n“,a,b,c,d);if(a/b*(c*d)=24) printf(“%1.0f/
37、%1.0f*(%1.0f*%1.0f)=24n“,a,b,c,d);if(a/(b*c*d)=24) printf(“%1.0f/(%1.0f*%1.0f*%1.0f)=24n“,a,b,c,d);if(a/b*c/d=24) printf(“%1.0f/%1.0f*%1.0f/%1.0f=24n“,a,b,c,d);if(a/(b*c)/d=24) printf(“%1.0f/(%1.0f*%1.0f)/%1.0f=24n“,a,b,c,d);if(a/b*(c/d)=24) printf(“%1.0f/%1.0f*(%1.0f/%1.0f)=24n“,a,b,c,d);if(a/(b*c/
38、d)=24) printf(“%1.0f/(%1.0f*%1.0f/%1.0f)=24n“,a,b,c,d);if(a/(b*(c/d)=24) printf(“%1.0f/(%1.0f*(%1.0f/%1.0f)=24n“,a,b,c,d);if(a/b/c+d=24) printf(“%1.0f/%1.0f/%1.0f+%1.0f=24n“,a,b,c,d);if(a/b/(c+d)=24) printf(“%1.0f/%1.0f/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a/(b/c)+d=24) printf(“%1.0f/(%1.0f/%1.0f)+%1.0f=2
39、4n“,a,b,c,d);if(a/(b/c+d)=24) printf(“%1.0f/(%1.0f/%1.0f+%1.0f)=24n“,a,b,c,d);if(a/(b/(c+d)=24) printf(“%1.0f/(%1.0f/(%1.0f+%1.0f)=24n“,a,b,c,d);if(a/b/c-d=24) printf(“%1.0f/%1.0f/%1.0f-%1.0f=24n“,a,b,c,d);if(a/b/(c-d)=24) printf(“%1.0f/%1.0f/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a/(b/c)-d=24) printf(“%1.0
40、f/(%1.0f/%1.0f)-%1.0f=24n“,a,b,c,d);if(a/(b/c-d)=24) printf(“%1.0f/(%1.0f/%1.0f-%1.0f)=24n“,a,b,c,d);if(a/(b/(c-d)=24) printf(“%1.0f/(%1.0f/(%1.0f-%1.0f)=24n“,a,b,c,d);if(a/b/c*d=24) printf(“%1.0f/%1.0f/%1.0f*%1.0f=24n“,a,b,c,d);if(a/b/(c*d)=24) printf(“%1.0f/%1.0f/(%1.0f*%1.0f)=24n“,a,b,c,d);if(a/(
41、b/c)*d=24) printf(“%1.0f/(%1.0f/%1.0f)*%1.0f=24n“,a,b,c,d);if(a/(b/c*d)=24) printf(“%1.0f/(%1.0f/%1.0f*%1.0f)=24n“,a,b,c,d);if(a/(b/(c*d)=24) printf(“%1.0f/(%1.0f/(%1.0f*%1.0f)=24n“,a,b,c,d);if(a/b/c/d=24) printf(“%1.0f/%1.0f/%1.0f/%1.0f=24n“,a,b,c,d);if(a/b/(c/d)=24) printf(“%1.0f/%1.0f/(%1.0f/%1.0
42、f)=24n“,a,b,c,d);if(a/(b/c)/d=24) printf(“%1.0f/(%1.0f/%1.0f)/%1.0f=24n“,a,b,c,d);if(a/(b/c/d)=24) printf(“%1.0f/(%1.0f/%1.0f/%1.0f)=24n“,a,b,c,d);if(a/(b/(c/d)=24) printf(“%1.0f/(%1.0f/(%1.0f/%1.0f)=24n“,a,b,c,d);void pailie(float a,float b,float c,float d) /进行运算数的全排列 float w,x,y,z;w=a;x=b;y=c;z=d;
43、jisuan(w,x,y,z);w=a;x=b;y=d;z=c;jisuan(w,x,y,z);w=a;x=c;y=b;z=d;jisuan(w,x,y,z);w=a;x=c;y=d;z=b;jisuan(w,x,y,z);w=a;x=d;y=b;z=c;jisuan(w,x,y,z);w=a;x=d;y=c;z=b;jisuan(w,x,y,z);/-w=b;x=a;y=c;z=d;jisuan(w,x,y,z);w=b;x=a;y=d;z=c;jisuan(w,x,y,z);w=b;x=c;y=a;z=d;jisuan(w,x,y,z);w=b;x=c;y=d;z=a;jisuan(w,x
44、,y,z);w=b;x=d;y=a;z=c;jisuan(w,x,y,z);w=b;x=d;y=c;z=a;jisuan(w,x,y,z);/-w=c;x=a;y=b;z=d;jisuan(w,x,y,z);w=c;x=a;y=d;z=b;jisuan(w,x,y,z);w=c;x=b;y=a;z=d;jisuan(w,x,y,z);w=c;x=b;y=d;z=a;jisuan(w,x,y,z);w=c;x=d;y=b;z=a;jisuan(w,x,y,z);w=c;x=d;y=a;z=b;jisuan(w,x,y,z);/-w=d;x=a;y=b;z=c;jisuan(w,x,y,z);w=
45、d;x=a;y=c;z=b;jisuan(w,x,y,z);w=d;x=b;y=c;z=a;jisuan(w,x,y,z);w=d;x=b;y=a;z=c;jisuan(w,x,y,z);w=d;x=c;y=b;z=a;jisuan(w,x,y,z);w=d;x=c;y=a;z=b;jisuan(w,x,y,z); void main()float a,b,c,d; A:printf(“请输入 4 个整数:n“);scanf(“%f,%f,%f,%f“,printf(“运算结果如下:n“);pailie(a,b,c,d);printf(“n“);goto A;五、程序运行的测试与分析输入四个数字之后,能列出所有能计算出等于 24 的运算式。并且能继续输入计算,不会自动退出。六、结论与心得因为整个程序的算法比较简单,只运用了穷举法然后嵌入使用,在编写的前期只是较为繁琐而没有出现问题。但是在初始设计的时候,并没有想到要进行运算数的位置排列,在考虑再三之后,决定要加入运算数的位置排列从而全面地进行运算。设计运算数的位置排列,最早是希望用递归调用的方法来完成,但是由于时间和个人的原因,未能成功,最终仍是采取了穷举法,虽然未能成功,但是也让我对递归算法的调用有了一定的理解。七、参考资料参考C 语言程序设计清华大学 谭浩强著八、致谢感谢黄文龙同学在运算数排列的方法中给予的一些理念上的帮助!