您的位置:首页 > 其它

猜数游戏

2018-04-03 22:31 204 查看
要求:电脑随机生成一个数,用户猜数,如果猜小了,电脑提示猜小了,如果猜大了,电脑提示猜大了。如果相等,则猜数成功。//猜数游戏
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("********************\n");
printf("******1---play******\n");
printf("******0---exit******\n");
printf("********************\n");
}
void play()
{
int mynumber, yournumber;
srand((unsigned)time(NULL));
mynumber = rand()%100;
printf("Enter yournumber:\n");
scanf("%d", &yournumber);
if (yournumber == mynumber)
printf("猜对了!\n");
while (yournumber != mynumber)
{
if (yournumber > mynumber)
printf("猜大了!\n");
else if (yournumber < mynumber)
printf("猜小了!\n");
printf("Enter yournumber:>\n");
scanf("%d", &yournumber);
if (yournumber == mynumber)
printf("猜对了!\n");
}
}
int main()
{
//打印菜单供选择
//做出选择
//玩游戏函数
int s;
do{
menu();
printf("请做出选择:>");
scanf("%d", &s);
switch (s)
{
case 1:play();break;
case 0:printf("退出游戏!\n"); break;
default:printf("输入错误!\n"); break;
}
} while (s);
system("pause");
return 0;
}
代码思路:
首先打印菜单,让用户做出选择,是否玩游戏。
电脑随机生成一个数。
用户输入一个数。
判断两个数的大小,直到猜正确为止。
选择是否继续游戏。
重要知识点:
生成随机数
rand()是生成随机数的函数。——————该函数的的头文件是stdlib.h;
但是它是按照指定的顺序产生整数,因此每次运行都是同样的值。又称为伪随机数。#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
while (i < 6)
{
printf("%d\n", rand());
i++;
}
system("pause");
return 0;
}第一次运行:



第二次运行:



所以为了使程序在每次执行时都可以产生新的随机值,我们通常通过伪随机数生成器提供一粒新的随机种子。函数srand()可以为随机数生成器传播种子。只要种子不同rand()就会产生不同的随机数序列。
srand函数是随机数发生器的初始化函数。原型是:void  srand(unsigned int seed)和rand()配合使用产生伪随机数序列。srand()为rand()函数提供种子,即:种子相同,那么生成的随机数每次也都相同。
eg:#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i=0;
int n = 10;
srand((unsigned)n);
while (i < 6)
{
printf("%d\n", rand());
i++;
}
system("pause");
return 0;
}第一次运行:



第二次运行:



所以不应该选择一个固定的数作为种子,时间每分每秒都在变化,所以通常以时间作为种子,生成的随机数会变化。
语句为:srand(unsigned time(NULL));
生成随机数后然后循环判断数的大小,并确定是否继续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: