樱花 发表于 2016-8-13 10:41:34

写的一个猜数字的小游戏 进来看看

本帖最后由 樱花 于 2016-8-15 21:32 编辑

今天写了一个猜数字的小游戏   直接上图
下面是代码:
**** Hidden Message *****

无符号整形 发表于 2016-8-13 11:35:08

本帖最后由 无符号整形 于 2016-8-14 10:07 编辑

随机数版本,可以生成0-100的随机数,随机数公式:
设要生成的随机数为0-50
则Max= 50,Min = 0
那么随机数可以这样求
srand((unsigned int)time(NULL));//设置随机数种子
n = rand() % (Max + 1);//生成随机数

比如我要生成0-1000的随机数就这样
因为Max = 1000,所以Max + 1 = 1001
srand((unsigned int)time(NULL));//设置随机数种子
n = rand() % 1000;//生成随机数
同理,如果我要生成0-7500的随机数:
因为Max = 7500,所以Max + 1 = 7501
srand((unsigned int)time(NULL));//设置随机数种子
n = rand() % 7501;//生成随机数
参考代码:

#include"stdafx.h"//如果报错删掉这行
#include<stdio.h>
#include<time.h>


int _tmain(int argc, _TCHAR* argv[])
{
      int a=-1,n=0,m=4,i=0;
      printf("***猜数字游戏***\n");
      printf("**<1>开始游戏**\n");
      printf("**<0>结束游戏**\n请输入:");
      while(m!=1 && m!=0)
      {
                if(i!=0)//是否开始游戏
                        printf("输入错误,请重新输入:");
                        i++;
                scanf("%d",&m);
      }

      if(m==1)
      {
                printf("游戏开始      \n请输入要猜测的数字:");
                scanf("%d",&n);
                                srand((unsigned int)time(NULL)); //设置随机数种子
                                n = rand() % 101 //生成0-100的随机数 公式:n = rand() % 要生成的随机数最大值+1
                        while(a!=n)
                        {
                              printf("再次输入要猜测的数字:");
                              scanf("%d",&a);
                              if(a<n) //判断大小
                                        printf("太小了\n");
                              if(a>n) //判断大小
                                        printf("太大了\n");
                        }
                printf("恭喜猜中了,该数为:%d\n",n);
                        
      }
      else
      {
                return 0;
                //游戏结束
      }
}

蜗牛先生 发表于 2016-8-14 10:04:19

无符号整形 发表于 2016-8-13 11:35
随机数版本,可以生成0-100的随机数,随机数公式:
设要生成的随机数为0-50
则Max= 50,Min = 0


为什么我把这段代码复制到visual C++中运行不了?
提示------>d:\baiduyundownload\123\aa.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
执行 cl.exe 时出错.

谢谢版主,应该是没有这个头文件?

无符号整形 发表于 2016-8-14 10:05:35

蜗牛先生 发表于 2016-8-14 10:04
为什么我把这段代码复制到visual C++中运行不了?
提示------>d:\baiduyundownload\123\aa.cpp(1) : fa ...

stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可

蜗牛先生 发表于 2016-8-14 10:27:44

无符号整形 发表于 2016-8-14 10:05
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可

wa,谢谢版主,这么快就回复我了,我试了一下,删掉之后说我后面有些函数没有定义,我还在调试中~~

无符号整形 发表于 2016-8-14 10:39:17

蜗牛先生 发表于 2016-8-14 10:27
wa,谢谢版主,这么快就回复我了,我试了一下,删掉之后说我后面有些函数没有定义,我还在调试中~~

如果还是不行 就加上#include<windows.h>

樱花 发表于 2016-8-14 11:36:22

本帖最后由 樱花 于 2016-8-14 11:44 编辑

无符号整形 发表于 2016-8-13 11:35
随机数版本,可以生成0-100的随机数,随机数公式:
设要生成的随机数为0-50
则Max= 50,Min = 0


是不是错了 这个位置
我还想请教怎么取5-10的随机数不是0-10
min=5

无符号整形 发表于 2016-8-14 12:02:37

樱花 发表于 2016-8-14 11:36
是不是错了 这个位置
我还想请教怎么取5-10的随机数不是0-10
min=5

首先想问问你那个程序行不行?
这样行不行?:
srand((unsigned int)time(NULL));
while(n=rand() % 11 < 5);

樱花 发表于 2016-8-14 16:25:25

无符号整形 发表于 2016-8-14 12:02
首先想问问你那个程序行不行?
这样行不行?:
这样写可以吧
        n=rand()%11;
                while(n<5)
                n=rand()%11;

格格不入 发表于 2016-8-14 17:49:49

想看

樱花 发表于 2016-8-14 19:46:31

顶一下

黑龍 发表于 2016-8-14 19:51:00

无符号整形 发表于 2016-8-13 11:35
随机数版本,可以生成0-100的随机数,随机数公式:
设要生成的随机数为0-50
则Max= 50,Min = 0


我发现晚了= =

黑龍 发表于 2016-8-14 19:51:41

无符号整形 发表于 2016-8-14 10:05
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可

不对 不止是VS VC++6.0也有

黑龍 发表于 2016-8-14 19:51:41

无符号整形 发表于 2016-8-14 10:05
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可

不对 不止是VS VC++6.0也有

黑龍 发表于 2016-8-14 19:53:02

樱花 发表于 2016-8-14 16:25
这样写可以吧

这样是可以的= =srand的话可能数字都是一样的= =
还有注意一下排版

黑龍 发表于 2016-8-14 19:53:02

樱花 发表于 2016-8-14 16:25
这样写可以吧

这样是可以的= =srand的话可能数字都是一样的= =
还有注意一下排版

无符号整形 发表于 2016-8-14 20:02:39

本帖最后由 无符号整形 于 2016-8-14 20:13 编辑

樱花 发表于 2016-8-14 16:25
这样写可以吧

不行

无符号整形 发表于 2016-8-14 20:02:55

黑龍 发表于 2016-8-14 19:53
这样是可以的= =srand的话可能数字都是一样的= =
还有注意一下排版

这可不一定~~~

黑龍 发表于 2016-8-14 20:06:14

无符号整形 发表于 2016-8-14 20:02
这可不一定~~~

{:5_99:}你去试试
如果不是一直srand+rand的话可能数值是一样的

无符号整形 发表于 2016-8-14 20:12:42

黑龍 发表于 2016-8-14 20:06
你去试试
如果不是一直srand+rand的话可能数值是一样的

嗯,好像是的。
页: [1] 2
查看完整版本: 写的一个猜数字的小游戏 进来看看