爱问知识人 爱问教育 医院库

加减乘除24游戏

首页

加减乘除24游戏

传统的扑克牌玩法有一个算24点,除去J,Q,K,A和大小王,任意取出四张牌,把上面的点数用加减乘除等计算方法(隐含括号运算),使得这些点数计算出来的最后结果刚好为24,谁算得又快又好为胜者.
如抽到1,2,6,8,则(6-2-1)*8=24,当然(6/2/1)*8=24也可.如抽到10,10,10,10,则无法可想了.
编程要求:
(1)统计出求不出24的所有组合数目.
(2)将每一组合的计算结果写入文件result.txt,每两个组合一行.
谢谢各位啦!!

提交回答
好评回答
  • 2006-08-30 13:53:20
      你要用C++还是C呀?
    第一个要求要以什么方式表示出来?
    其实到网上搜一下算法,再自己组织组织就行了。
    我用VC++6。0试的。
    参照的是下面的程序:
     
    按你的要求又改了改。
    唉。。代码太长放不下了。放附件里了。
    你要做的:
    1、用VC建个控制台程序。
       2、把24Calc。txt里的代码全部复制粘贴到主函数之前。 3、在主函数里添加一句代码: Exec(); 4、编译运行。 结果: 在可执行文件的目录下(如果是Debug运行的话就是在工程目录下),生成两个文件result。txt和bad。
      txt。 其中,result。txt里是可行的算式。bad。txt里是求不出24的组合。 都是按每两个组合一行的形式输出的。 两个文件的最后都输出了记录总数,用Count:***的形式表示。 你要觉得输出的哪不合适再自己改改吧,输出语句的位置在最下面的Exec函数里。
       由于我的编译器不是中文的,所以没怎么加注释(中文保存的时候会变乱码)。如果想看注释的话请参照前面提到的24dlg。rar里的源码。

    1***

    2006-08-30 13:53:20

其他答案

    2006-08-31 14:22:18
  • 其实《数据结构》上专门有对于算式运算的算法描述
    很简单,就是把输入的运算式的数字和符号分别依次推入两个栈
    推入栈内的同时,对输入符号和符号栈栈顶的优先级进行比较,如果新输入符号优先级高,则进行取两栈顶再与刚输入的数字和符号进行运算,出结果后,将运算结果推入数字栈。如果优先级低,则不进行运算,只将数字和符号分别压入栈顶。这样直到运算完成

    O***

    2006-08-31 14:22:18

  • 2006-08-30 08:37:50
  • 这类的组合真的是太多了,举不胜举。

    金***

    2006-08-30 08:37:50

  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 173-192
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):