标题:随机数问题
只看楼主
Rainsweet
Rank: 1
来 自:江西财经大学
等 级:新手上路
帖 子:8
专家分:0
注 册:2019-11-25
结帖率:50%
已结贴  问题点数:10 回复次数:4 
随机数问题
编写一个简单的猜数游戏,程序产生一个1~100的随机数,用户猜这个数,程序会给出“高了”或者“低了”的提示,直到用户猜对或者放弃(假定用户输入-1视为放弃)
#include<stdio.h>。如果用户猜对了,且猜的次数在5次以下,则输出“Good”,猜的次数在5~8次输出“Not bad”,否则输出“You can do better”
这是书上的一道练习题,我的程序不能同时输入多个数和产生的随机数比较,而且后面count前面的else不加if没有用,请问一下大佬这个怎么改,或者给我一种新的解题方法,谢谢各位大佬了!
#include<stdlib.h>
#include<time.h>
int main()
{
    int n, i = 1;
    int x = 0, count = 0;
    srand((unsigned int) time(NULL));
    x = rand() % 100;
    printf("%d ", x);
    printf("输入任意整数n:");
    scanf("%d", &n);
    if (x > n)
    {
        printf("low\n");
    }
    count++;
    if (x < n)
    {
        printf("high\n");
    }
    count++;
    if (count < 5)
        printf("Good\n");
    if (count >= 5 && count <= 8)
        printf("Not bad\n");
    else
        printf("You can do better\n");

    return 0;
}
搜索更多相关主题的帖子: int 用户 printf 随机数 count 
2019-12-05 22:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main( void )
{
    // 这个随机数似乎有点儿问题
    srand( (unsigned)time(NULL) );
    int x = (int)(rand()/(RAND_MAX+1.0)*100+1);

    unsigned count = 0;
    for( ; ; )
    {
        int n;
        if( scanf("%d",&n)!=1 || n==-1 )
            return 0;

        ++count;

        if( n < x )
            puts( "低了" );
        else if( n > x )
            puts( "高了" );
        else
            break;
    }

    if( count < 5 )
        puts( "Good" );
    else if( count <= 8 )
        puts( "Not bad" );
    else
        puts( "You can do better" );
}
2019-12-06 09:15
Rainsweet
Rank: 1
来 自:江西财经大学
等 级:新手上路
帖 子:8
专家分:0
注 册:2019-11-25
得分:0 
回复 2楼 rjsp
这个不错,就是随机数不知道是多少,谢谢大佬
2019-12-06 17:07
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:5 
程序代码:
#include<stdio.h>
#include<windows.h>
#include<time.h>
void menu(){

 printf("#######################\n");

 printf("#    1 Play    #\n");

 printf("#    0 Exit    #\n");

 printf("#######################\n");
}
void Play(){

 int m = 0;

 int random = rand() % 100 + 1;

 while (1)

 {
    printf("请输入一个数字:\n");
    scanf("%d", &m);
    if (m == random){
        printf("你猜对了\n");
        break;
    }

 else if (m > random)
        {
        printf("你猜大了,请重新输入!");
        }
        else{
            printf("你猜小了,请重新输入!");
        }
    }
}

 int main()

 {
   srand((unsigned)time(NULL));
   int select = 0;
   do {
     menu();
     printf("请选择:");
     scanf("%d", &select);
     switch (select)
       {
         case 1:  Play();  break;
         case 0:  printf("ByeBye!\n");  break;
        default:  printf("输入错误,请重新输入!\n");  break;
      }
   } 
   while (select);
       system("pause");
   return 0;
}
2019-12-06 18:43
Rainsweet
Rank: 1
来 自:江西财经大学
等 级:新手上路
帖 子:8
专家分:0
注 册:2019-11-25
得分:0 
回复 4楼 自学的数学
大佬,我怎么运行不了呀,有点尴尬
2019-12-07 22:24



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




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

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