猜数游戏,限定了猜的次数

/* 猜数游戏(其四:限制输入次数)*/

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int no;                        /* 读取的值 */
    int ans;                    /* 目标数字 */
    const int max_stage = 10;    /* 最多可以输入的次数 */
    int remain = max_stage;        /* 还可以输入几次? */

    srand(time(NULL));            /* 设定随机数的种子 */
    ans = rand() % 1000;        /* 生成0~999的随机数 */

    printf("请猜一个0~999的整数。\n\n");

    do {
        printf("还剩%d次机会。是多少呢:", remain);
        scanf("%d", &no);
        remain--;            /* 把所剩次数进行减量 */

        if (no > ans)
            printf("\a再小一点。\n");
        else if (no < ans)
            printf("\a再大一点。\n");
    } while (no != ans && remain > 0);

    if (no != ans)
        printf("\a很遗憾,正确答案是%d。\n", ans);
    else {
        printf("回答正确。\n");
        printf("您用了%d次猜中了。\n", max_stage - remain);
    }

    return 0;
}

输出

请猜一个0~999的整数。

还剩10次机会。是多少呢:500
再大一点。
还剩9次机会。是多少呢:700
再大一点。
还剩8次机会。是多少呢:800
再大一点。
还剩7次机会。是多少呢:900
再小一点。
还剩6次机会。是多少呢:850
再小一点。
还剩5次机会。是多少呢:825
再小一点。
还剩4次机会。是多少呢:810
再小一点。
还剩3次机会。是多少呢:805
再小一点。
还剩2次机会。是多少呢:802
再大一点。
还剩1次机会。是多少呢:803
再大一点。
很遗憾,正确答案是804。

原文地址:https://www.cnblogs.com/sea-stream/p/11037474.html

时间: 2024-10-07 15:17:52

猜数游戏,限定了猜的次数的相关文章

猜数游戏,不猜对就不退出

/*猜数游戏(其二:重复到猜对为止——利用do语句)*/ #include <stdio.h> int main(void) { int no; /* 读取的值 */ int ans = 7; /* 目标数字 */ printf("请猜一个0~9的整数.\n\n"); do { printf("是多少呢:"); scanf("%d", &no); if (no > ans) printf("\a再小一点.\n&

模拟算法_掷骰子游戏&amp;&amp;猜数游戏

模拟算法是用随机函数来模拟自然界中发生的不可预测的情况,C语言中是用srand()和rand()函数来生成随机数. 先来介绍一下随机数的生成: 1.产生不定范围的随机数 函数原型:int rand() 产生一个介于0~RAD_MAX间的整数,其具体值与系统有关系.Linux下为2147483647.我们可以在include文件夹中的stdlib.h中可以看到(Linux在usr目录下,Windows在安装目录下) 1 #include<stdio.h> 2 #include<stdlib

BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】

2222: [Cqoi2006]猜数游戏 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 604  Solved: 260[Submit][Status][Discuss] Description 佳佳和明明玩一个猜数游戏.佳佳想一个1~n之间的整数,明明每次可以随便猜一个数.从第二次猜测起,佳佳告诉明明本次猜测的数和上次猜测的数相比哪个更接近.B表示本次猜测的数更接近,W表示上次猜测的数更接近.如果两次猜测的接近程度一样,则既可回答B也可回答W.

单人猜数游戏java

//这是一个以1到10为例的单人猜数游戏 public static void main(String[] args) { int b=(int)(Math.random()*10+1);//b是一个1到10的随机数 //System.err.println(b); Scanner sc=new Scanner(System.in); System.out.println("请输入1到10以内的数字:"); int a=sc.nextInt();//a是用户猜测的数字 int i =

C实现一个比较简单的猜数游戏

为了练习使用do..while和while,特地使用此实例,一个简单的猜数游戏对while循环进行的练习使用.所有的东西都在注释当中: #include <stdio.h> #include <conio.h> /********************************** * 该实例用于实现一个简单的猜数字的游戏 * 主要用于练习使用while循环 * 开始的时候需要用户输入游戏密码(1234) * 如果用户输入错误 * 则提示用户重新输入 * 如果三次输入错误,则提示用

Python基础之猜数游戏

例题一:猜数游戏.在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示"遗憾,太大了":小于预设的数,显示"遗憾,太小了",如此循环,直至猜中该数,显示"预测N次,你猜中了!",其中N是用户输入数字的次数. #-----------猜数游戏1--------- Set_number = 6 #0~9之间的整数 Guess_number = int(input("请输入猜测的数:")) N = 1

猜数游戏,加入历史输入数据的显示

/* 猜数游戏(其五:显示输入记录)*/ #include <time.h> #include <stdio.h> #include <stdlib.h> #define MAX_STAGE 10 /* 最多可以输入的次数 */ int main(void) { int i; int stage; /* 已输入的次数 */ int no; /* 读取的值 */ int ans; /* 目标数字 */ int num[MAX_STAGE]; /* 读取的值的历史记录 */

python 课后习题 猜数游戏

4.1 猜数游戏.在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜数字,如果大于预设的数,显示“遗憾,太大了”:如果小于预设的数,显示“遗憾,太小了”:如此循环,直至猜到该数,显示“预测N次,你猜中了!”,其中N是用户输入数字的次数. secret = 4#print(secret)print('------猜数字游戏!-----')num = input('猜数字游戏开始,请输入数字0-9:')guess = int(num)N=1while guess != secret:     

简单猜数游戏2

/*简单猜数游戏,magic number#2,版本*/#include<stdio.h>#include<stdlib.h> int main(void){ int magic; /*magic number*/ int guess; /*user's guess*/ printf("\nWelcome to the magic number game\n"); magic=rand(); /*产生随机数*/ printf("\nGuess the