| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 888 人关注过本帖
标题:再来一个24点..... - -!!
只看楼主 加入收藏
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
结帖率:33.33%
收藏
 问题点数:0 回复次数:8 
再来一个24点..... - -!!
/*****************************************************************
** HighlightCodeV3.0 software by yzfy(雨中飞燕) http:// **
*****************************************************************/
#include<cstdio>
#include<cstdlib>
#include<ctime>
void Calculate(float* rst,float num,char opt)
{
   
switch(opt)
    {
   
case '+': *rst+=num;break;
    case '-': *rst-=num;break;
    case '*': *rst*=num;break;
    case '/': if(num==0) return;
                else *rst/=num;
                break;
    }
}
bool GetRst(float* num,char* opt__)
{
   
int map[3]={0},i=0;
    char opt[4]={'+','-','*','/'};
    float opt_a=num[0],opt_b=num[2];
    for( ; ;opt_a=num[0],opt_b=num[2] )
    {
        
Calculate(&opt_a,num[1],opt[map[0]]);
        Calculate(&opt_b,num[3],opt[map[1]]);
        
        if(Calculate(&opt_a,opt_b,opt[map[2]]),opt_a==24 )
        {
            
opt__[0]=opt[map[0]];
            opt__[1]=opt[map[1]];
            opt__[2]=opt[map[2]];
            return false;
        }
        
if((opt[map[0]]=='/')&&(opt[map[1]]=='/')&&(opt[map[2]]=='/'))  return true;

        for(i=0;i<3&&++map[i]>3;++i)  map[i]=0;
    }
}
void GetSolve(float *num,char* opt__)
{
   
int i=0;
    srand((unsigned int)time(0));
    do
   
{
        
for(i=0;i<4;++i)
        for(num[i]=(float)rand();num[i]<=0.f||num[i]>=14.f;num[i]=(float)rand());
    }while(GetRst(num,opt__));
}

int main()
{
   
char ch='Y',opt[3],opt_c[3];
    float sum_a=0.f,sum_b=0.f,num[4];
    int i;
    printf("============ 24点小游戏 ==============\n");
    printf("输入会按如下格式处理: ((   ) (   ))   \n");
    while(ch=='Y')
    {
        
GetSolve(num,opt);
        for(i=0;i<4;++i) printf("%.f  ",num[i]);
        scanf("\n%c,%c,%c",&opt_c[0],&opt_c[1],&opt_c[2]);
        sum_a=num[0]; sum_b=num[2];
        Calculate(&sum_a,(float)num[1],opt_c[0]);
        Calculate(&sum_b,(float)num[3],opt_c[2]);
        Calculate(&sum_a,sum_b,opt_c[1]);
        if(sum_a==24)
        {
            
printf("答对了!!!!!!!!\n");
        }
        
else
        
{
            
printf("((%.f%c%.f)%c(%.f%c%.f))",num[0],opt_c[0],num[1],opt_c[1],num[2],opt_c[2],num[3]);
            printf("错误!!!\n");
        }
        
printf("答案:  ");
        printf("((%.f%c%.f)%c(%.f%c%.f))\n",num[0],opt[0],num[1],opt[2],num[2],opt[1],num[3]);
        printf("是否继续游戏?(Y/N)");
        scanf(" %c",&ch);
    }
   
return 0;
}
搜索更多相关主题的帖子: num 
2008-07-05 00:33
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
顶下。

--------------------
我没写过。

—>〉Sun〈<—
2008-07-05 01:11
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
晕C++

一点C++的东西都没看到。

C也存在bool类型的。
C的是 _Bool 类型,C99标准中首次出现。

建议搂主,改下头文件。
#define bool char
#define false 0
#define true 1


// c99 有 stdbool.h 头文件
typedef _Bool bool;


--

[[it] 本帖最后由 cosdos 于 2008-7-5 01:24 编辑 [/it]]

—>〉Sun〈<—
2008-07-05 01:14
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
回复 3# cosdos 的帖子
好建议.....这里C区,所以就C一下....不过C的bool我没用过...我都是C++的.... - -

樱花大战,  有爱.
2008-07-05 13:18
qGemini
Rank: 1
等 级:禁止访问
帖 子:100
专家分:0
注 册:2008-6-28
收藏
得分:0 
赞一个,颜色不错

Gemini  C/C++群57751397
本人不对自己的言论负责

http://
2008-07-05 16:46
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
回复 5# qGemini 的帖子
全靠燕子的高亮programing

樱花大战,  有爱.
2008-07-05 16:50
Rand
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2008-7-2
收藏
得分:0 
Cfree 出来的结果有问题
2008-07-05 17:00
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
回复 7# Rand 的帖子
呵呵,没认真调, - -.....
是什么个情况呢??

樱花大战,  有爱.
2008-07-05 17:04
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
回复 7# Rand 的帖子
是不是你的结果和答案不一样??

樱花大战,  有爱.
2008-07-05 17:08
快速回复:再来一个24点..... - -!!
数据加载中...
 
   



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

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