猜数游戏
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));
生成随机数后然后循环判断数的大小,并确定是否继续。
#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));
生成随机数后然后循环判断数的大小,并确定是否继续。
相关文章推荐
- C++一个猜数游戏程序
- 猜数游戏2.0
- 1594: [Usaco2008 Jan]猜数游戏
- Matlab-猜数游戏
- 51nod 1536不一样的猜数游戏(找规律)
- 猜数游戏与理性思维
- 猜数游戏
- C++一个猜数游戏程序
- 51NOD 1536 不一样的猜数游戏 数论
- Python案例:猜数游戏
- 猜数游戏
- iOS开发之-猜数游戏的简单改进
- java循环练习:猜数游戏
- 51nod1536-素数&猜测-不一样的猜数游戏
- srand ()与rand()函数小应用之猜数游戏
- 简单的猜数游戏
- BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】
- 51nod 1536 不一样的猜数游戏
- 文曲星猜数游戏的一个简单实现
- python简单猜数游戏实例