| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 594 人关注过本帖
标题:猜数字游戏
只看楼主 加入收藏
逗比
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-10-31
结帖率:60%
收藏
 问题点数:0 回复次数:5 
猜数字游戏
猜数字游戏
猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
搜索更多相关主题的帖子: 编写程序 正整数 Lucky Guess 游戏 
2014-11-23 14:21
yahwei
Rank: 7Rank: 7Rank: 7
来 自:湖~
等 级:黑侠
威 望:3
帖 子:145
专家分:644
注 册:2011-11-10
收藏
得分:0 
这是考试吗?

[qq]949654600[/qq]
2014-11-23 15:30
逗比
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2014-10-31
收藏
得分:0 
回复 2 楼 yahwei
不是,我想了很久做出来都不行
2014-11-23 15:40
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 5

int x, z, i=0;
int guess(void);

int main(void)
{    
    srand((unsigned int)time(NULL));
    z = 1 + (int)(100.0 * rand() / (RAND_MAX + 1.0));
    printf("随机生成的数字: %d\n", z);
    printf("请输入你猜的数字:\n");
    do{
        scanf("%d", &x);
        if (x < 0)
        {
            printf("Game Over\n");
            exit(0);
        }
        guess();
    } while (x!=z);
    printf("猜了%d次\n", i);

    return 0;
}

int guess(void)
{
    if (i<=(MAX-1))
    {
        if (x==z)
        {
            switch (i+1)
            {
            case 1: printf("Bingo!\n");
                break;
            case 2: printf("Lucky You!\n");
                break;
            case 3: printf("Good Guess!\n");
                break;
            default: printf("You Win!\n");
            }
        }
        else if (x>z)
        {
            printf("Too big!\n");
        }
        else
        {
            printf("Too small!\n");
        }
    }
    else
    {
        printf("Game Over\n");
        exit(0);
    }
    return i++;
}


[ 本帖最后由 longwu9t 于 2014-11-23 15:55 编辑 ]

Only the Code Tells the Truth             K.I.S.S
2014-11-23 15:48
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
这个随机数生成还有些问题
如果是在短时间内重复运行程序
生成的随机数是相同

Only the Code Tells the Truth             K.I.S.S
2014-11-23 15:53
fogmaple
Rank: 4
来 自:江西省赣州市于都县
等 级:业余侠客
威 望:1
帖 子:119
专家分:233
注 册:2014-7-28
收藏
得分:0 
以下是引用longwu9t在2014-11-23 15:48:53的发言:


#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 5

int x, z, i=0;
int guess(void);

int main(void)
{   
    srand((unsigned int)time(NULL));
    z = 1 + (int)(100.0 * rand() / (RAND_MAX + 1.0));
    printf("随机生成的数字: %d\n", z);
    printf("请输入你猜的数字:\n");
    do{
        scanf("%d", &x);
        if (x < 0)
        {
            printf("Game Over\n");
            exit(0);
        }
        guess();
    } while (x!=z);
    printf("猜了%d次\n", i);

    return 0;
}

int guess(void)
{
    if (i<=(MAX-1))
    {
        if (x==z)
        {
            switch (i+1)
            {
            case 1: printf("Bingo!\n");
                break;
            case 2: printf("Lucky You!\n");
                break;
            case 3: printf("Good Guess!\n");
                break;
            default: printf("You Win!\n");
            }
        }
        else if (x>z)
        {
            printf("Too big!\n");
        }
        else
        {
            printf("Too small!\n");
        }
    }
    else
    {
        printf("Game Over\n");
        exit(0);
    }
    return i++;
}

掌握下
2014-11-24 09:59
快速回复:猜数字游戏
数据加载中...
 
   



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

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