标题:大一新生求助c语言编程题
只看楼主
JJST
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-10-13
结帖率:0
已结贴  问题点数:20 回复次数:3 
大一新生求助c语言编程题
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

输入格式:

输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。

输出格式:

在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。
搜索更多相关主题的帖子: 编写程序 大一新生 c语言编程 游戏机 正整数 
2016-10-13 06:57
a969798593
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:70
注 册:2016-10-13
得分:10 
#include<stdio.h>
int main()
{
    int ram,N;
    scanf("%d %d",&ram,&N);
    int ram1,flag=0;
    while(scanf("%d",&ram1)!=EOF)
    {
        flag++;
        if(flag>N)
        {
            printf("Game Over!\n");
            break;
        }
        if(ram1<0)
        {
            printf("Game over\n");
            break;
        }
        if(ram1<ram)
        {
            printf("Too small\n");
        }
        if(ram1==ram)
        {
            break;
        }
        if(ram1>ram)
        {
            printf("Too big\n");
        }
    }
    if(flag==1&&ram1>0)
    {
        printf("Bingo!\n");
    }
    if(flag>1&&flag<=3&&ram1>0)
    {
        printf("Lucky you!\n");
    }
    if(flag>3&&flag<=N&&ram1>0)
    {
        printf("Good Guess!\n");
    }   
}

2016-10-13 08:49
cazhxi
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:96
注 册:2014-10-12
得分:10 
你这么问很少有人会回答你,至少你自己尝试着写下,哪不会了在问,例如不知道怎么获取随机数,都不尝试弄了个题目,是在考大家呢吗???哎。。。最后还是写个仅供参考,加油
#include "stdafx.h"
#include <windows.h>
#include <time.h>


int main()
{
    int sr_num, num;
    int n = 0;                   //用于记录用户输入的次数

    srand(time(NULL));
    sr_num = 1 + (rand() % 100); //获得一个100以内的随机数

    while (true)
    {
        printf("请输入1-100以内的整数: ");
        scanf_s("%d", &num);
        if (num < 0)
        {
            //二货请输入1-100的整数
            //跳出循环,结束程序(用break结束讯循环)
        }
        //否则如果num<sr_num
        {
            //你输入的太小啦,重新输入
            n++;
        }
        //否则如果num>sr_num
        {
            //你输入的太大啦,重新输入
            n++;
        }
        //否则(表明此时已经找到正确的数字啦)
        {
            //如果n==1
            {
                //你真是个天才!!!
                //结束循环结束程序(用break结束循环)
            }
            //否则如果n<=3
            {
                //你太聪明啦!!!
                //结束循环结束程序
            }
            //否则
            {
                //恭喜你猜对啦
                //结束循环结束程序
            }   
        }
    }
    system("pause");
    return 0;
}
2016-10-13 08:53
a969798593
Rank: 2
等 级:论坛游民
威 望:1
帖 子:21
专家分:70
注 册:2016-10-13
得分:0 
这里面的随机数还是用户手动输入的啊 并不是程序自己随机的 要求就是手动输入两个数 一个所谓的“游戏机随机数” 一个“尝试的最大次数”
2016-10-13 09:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469708-1-1.html




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

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