c语言程序计算24点.docxVIP

  • 41
  • 0
  • 约7.29千字
  • 约 15页
  • 2020-07-18 发布于江苏
  • 举报
题目 : 输入任意四个整数 (0 到 10) ,运算符只有加减乘除,还有括号 . 每个数只能且必 须用一次。要求判断这些表达的结果中是否有 24。如果有,输出计算表达式: 如输入 4, 6,1,1 输出 4*6*1*1 =24 (允许有括号)。 1、问题分析与方案设计。 1、输入问题。题目要求输入任意四个整数 (0 到 10) 。所以这里定义了 input ()函数使输入限定在 0-10 之间的整数。如果输入的为字母, 小数点,或者不在(0, 10)之间等不满足要求的情况,则提示输入有误请重输。运算符有“ +-*/ ”。所 以定义一个字符型的数组来存储这些符号。对于优先级,考虑到一共就只有 5 种不重复的情况,所以采用枚举法来表示优先级。 2、排列问题。四重循环开始穷举四个数字的位置 : 4!=24 种,每个数字只能使 用一次。三重循环开始穷举三个运算符 : 4*4*4=64 种 +-*/ 可以重复使用。优先 级未用循环,直接穷举三个运算符的优先级 : 3!-1=5 种( 3*2-1=5 )。分别是: 第 1 种情况 ((a 。b) 。c) 。d 第 2 种情况 (a 。b) 。(c 。 d) 第 3 种情况 (a 。 (b 。c)) 。d 第 4 种情况 a 。((b 。c) 。d ) 第 5 种情况 a 。 (b 。(c 。d)) 3、24 点计算。定义  double

文档评论(0)

1亿VIP精品文档

相关文档