猜数字游戏
内容
系统随机给出一个数字,通过猜大了 猜小了 来确定
代码实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void play() //代码实现函数
{
int rat = rand();
int i = 0;
do {
scanf("%d", &i);
printf("%d", rat);
if (i > rat)
{
printf("猜数字猜大了");
}
if (i < rat)
{
printf("猜数字猜小了");
}
if (i == rat)
{
printf("正确");
break;
}
} while (1);
}
void menu() //菜单函数
{
printf("1.paly\n");
printf("0.exit\n");
}
int main()
{
int input = 0;
do
{
srand((unsigned int)time(NULL));//随机数设置 随机数 种子函数time
menu(); //随机数产生 函数
scanf("%d", &input);
switch (input)
{
case 1:
play();
break;
case 0:
break;
default:
printf("no");
break;
}
} while (input);
return 0;
}
随机数生成攻略
随机函数类型
随机函数有 srand设置种子函数 rand输出随机数
方法
1 先给srand 一个种子 如时间函数 srand((unsigned int )time(NULL)) 因为每次运行程序的时间是不一样的
2 如何产生范围内的随机数?
假设产生从X到Y的随机数 那么X到Y有y-x+1个数
k=rand()%(y-x+1)+x
实现代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand((unsigned int)time(NULL));//随机数设置 随机数 种子函数time
int rat = rand()%100+1;
printf("%d", rat);
return 0;
总结
1 范围确定 %k往后多少个数+k
2 需要使用时间戳函数还充当种子
3 random函数已经过时
4 最好吧时间戳放在程序开始的位置