| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1576 人关注过本帖
标题:求教“速算24”的编写思路
只看楼主 加入收藏
LiuQ743
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2009-10-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
求教“速算24”的编写思路
望各位大牛指点一下,谢谢
搜索更多相关主题的帖子: 编写 思路 速算24 
2009-10-15 08:52
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:5 
我看过速算24的代码,它其中有这么几步:
1电脑随机抽取4个数
2先对抽出的4个数进行判断,看能否通过运算+ - * / () 得到24,若可以,继续;否则重新执行第一步
3显示这4个数,让用户进行运算
4验证用户输入的运算结果,作出判断和显示。

当然了程序中还包括选定某个区域来显示数字等细节。
2009-10-15 11:15
LiuQ743
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2009-10-12
收藏
得分:0 
看能否通过运算+ - * / () 得到24??
这个怎么实现??
2009-10-16 10:07
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
书上说这一布步是最难的,它只给了一个程序,没有细讲如何去实现。
2009-10-16 10:46
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
我有空把他那个程序传上来你自己看看吧
2009-10-16 10:58
LiuQ743
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2009-10-12
收藏
得分:0 
顶,继续求教
2009-10-19 15:56
LiuQ743
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2009-10-12
收藏
得分:0 
再顶一下,等待好心人
2009-10-20 16:01
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:15 
int cnt=0;
int is_right(float n[], int m)
{
  int i,j;
  int h,p,r;
  float result=0;
  float num[4]={0};
   
  if(m==1)
  {
     if(abs(n[0]-24)<0.001)
       {
        cnt++;
        return 1;
       }
       return 0;
  }     
for(i=0;i<m;i++)
 {
  if(cnt!=0)
  {
    break;
  }  
  for(j=0;j<m;j++)
  {
     if(i==j)
     {
       continue;
     }
     for(h=0;h<4;h++)
     {
     switch(h)
       {
          case 0:
               result =n[i]+n[j];
               break;     
          case 1:
               result =n[i]-n[j];
               break;     
          case 2:
               result =n[i]*n[j];
               break;     
          case 3:
               if(n[j]==0)
               {
                 break;
               }
               result=n[i]/n[j];
               break;               
          default:
               break;
        }
     r=0;
     num[r]=result;
     for(p=1;p<4;p++)
     {
       if(p!=i && p!=j)
       {
         r++;
         num[r]=n[p];
       }
     }
     
    is_right(num,m-1);
    }
     
   }
  }
  return 0;
  }
2009-10-20 17:54
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
m456,你是干哈滴啊咋啥C程序你都写而且能写
强!

我可好玩啦...不信你玩玩^_^
2009-10-20 19:45
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
回复 9楼 pgy
我是出来溜达的,如果允许的话,顺便打点酱油~
没有啦,我只是跟大家共同学习一下c语言。因为最近用的比较多。其实有些程序不是我想出来的,比如上面那个,是我看到人家书上这么编的~
2009-10-20 20:00
快速回复:求教“速算24”的编写思路
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024067 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved