写的一个猜数字的小游戏 进来看看
本帖最后由 樱花 于 2016-8-15 21:32 编辑今天写了一个猜数字的小游戏 直接上图
下面是代码:
**** Hidden Message ***** 本帖最后由 无符号整形 于 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-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:04
为什么我把这段代码复制到visual C++中运行不了?
提示------>d:\baiduyundownload\123\aa.cpp(1) : fa ...
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可 无符号整形 发表于 2016-8-14 10:05
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可
wa,谢谢版主,这么快就回复我了,我试了一下,删掉之后说我后面有些函数没有定义,我还在调试中~~ 蜗牛先生 发表于 2016-8-14 10:27
wa,谢谢版主,这么快就回复我了,我试了一下,删掉之后说我后面有些函数没有定义,我还在调试中~~
如果还是不行 就加上#include<windows.h> 本帖最后由 樱花 于 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 11:36
是不是错了 这个位置
我还想请教怎么取5-10的随机数不是0-10
min=5
首先想问问你那个程序行不行?
这样行不行?:
srand((unsigned int)time(NULL));
while(n=rand() % 11 < 5); 无符号整形 发表于 2016-8-14 12:02
首先想问问你那个程序行不行?
这样行不行?:
这样写可以吧
n=rand()%11;
while(n<5)
n=rand()%11; 想看 顶一下 无符号整形 发表于 2016-8-13 11:35
随机数版本,可以生成0-100的随机数,随机数公式:
设要生成的随机数为0-50
则Max= 50,Min = 0
我发现晚了= = 无符号整形 发表于 2016-8-14 10:05
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可
不对 不止是VS VC++6.0也有 无符号整形 发表于 2016-8-14 10:05
stdafx.h是一个VS里面的 预编译头文件用于加速编译(具体我也不知道),把#include"stdafx.h"删掉即可
不对 不止是VS VC++6.0也有 樱花 发表于 2016-8-14 16:25
这样写可以吧
这样是可以的= =srand的话可能数字都是一样的= =
还有注意一下排版 樱花 发表于 2016-8-14 16:25
这样写可以吧
这样是可以的= =srand的话可能数字都是一样的= =
还有注意一下排版 本帖最后由 无符号整形 于 2016-8-14 20:13 编辑
樱花 发表于 2016-8-14 16:25
这样写可以吧
不行 黑龍 发表于 2016-8-14 19:53
这样是可以的= =srand的话可能数字都是一样的= =
还有注意一下排版
这可不一定~~~ 无符号整形 发表于 2016-8-14 20:02
这可不一定~~~
{:5_99:}你去试试
如果不是一直srand+rand的话可能数值是一样的 黑龍 发表于 2016-8-14 20:06
你去试试
如果不是一直srand+rand的话可能数值是一样的
嗯,好像是的。
页:
[1]
2