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

/* 猜数游戏(其五:显示输入记录)*/

#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];        /* 读取的值的历史记录 */

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

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

    stage = 0;
    do {
        printf("还剩%d次机会。是多少呢:", MAX_STAGE - stage);
        scanf("%d", &no);
        num[stage++] = no;            /* 把读取的值存入数组 */

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

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

    puts("\n--- 输入记录 ---");
    for (i = 0; i < stage; i++)
        printf(" %2d : %4d %+4d\n", i + 1, num[i], num[i] - ans);

    return 0;
}

输入

请猜一个0~999的整数。

还剩10次机会。是多少呢:500
再大一点。
还剩9次机会。是多少呢:800
再小一点。
还剩8次机会。是多少呢:650
再小一点。
还剩7次机会。是多少呢:575
再小一点。
还剩6次机会。是多少呢:535
再小一点。
还剩5次机会。是多少呢:517
再小一点。
还剩4次机会。是多少呢:507
再小一点。
还剩3次机会。是多少呢:503
回答正确。
您用了8次猜中了。

--- 输入记录 ---
  1 :  500   -3
  2 :  800 +297
  3 :  650 +147
  4 :  575  +72
  5 :  535  +32
  6 :  517  +14
  7 :  507   +4
  8 :  503   +0

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

时间: 2024-10-15 09:26:51

猜数游戏,加入历史输入数据的显示的相关文章

java实验之猜数游戏

猜数游戏,要求: (1)编写一个方法用于产生1-1000之间的随机数: (2)编写一个方法用于完成两个数的比较,参数(随机数,用户提供的数字),返回值: >0 用户提供的数字比随机数大 =0 用户提供的数字跟随机数一样大 <0 用户提供的数字比随机数小 (3)编写一个测试方法,为用户提供猜数字游戏过程. 程序扩展一:每次猜数结果如果不对,则提示猜大了还是猜小了,最多可以猜10次. 程序扩展二:一次猜数结束,可以让用户选择是继续下一轮游戏还是退出. package random;import j

Python基础之猜数游戏

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

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

简单猜数游戏1

/*简单猜数游戏,magic number#1,版本*/#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

模拟算法_掷骰子游戏&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

OJ_1003.猜数游戏

1003. 猜数游戏 (Standard IO) 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 有一个"就是它"的猜数游戏,步骤如下:请你对任意输入的一个三位数x,在这三位数后重复一遍,得到一个六位数,467-->467467.把这个数连续除以7.11.13,输出最后的商. 输入 输入一个三位数x. 输出 输出最后的商. 样例输入 100 1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c; 5

一个笨拙的猜数游戏代码参考

直接上代码!!! #include <stdio.h> #include <stdlib.h> #define TOP 1000 #define BOTTOM 0 /* 由Mr.Blue and Mr.Green制作于2016.7.31 21:17 本程序采用块状分段,使程序更加简单,但可读性降低,望见谅 */ int main(int argc, char * argv[]) { int toobig, toosmall, temp; char input; printf(&qu

猜数游戏-flag的运用

package my;import java.util.Scanner;public class MyJava {        public static void main(String[] args) {        // TODO Auto-generated method stub        @SuppressWarnings("resource")        Scanner input = new Scanner(System.in);