猜数字小游戏
1.电脑产生一个随机数
2.键盘输入数字然后进行判断
结果分三种:
猜大啦
猜小啦
猜对啦
产生随机数的过程
首先 rand()函数产生随机值
(范围 0-rand-max (32767))
调用rand()前需先使用
函数srand(unsigned int i);
函数time_t time();因为时间一直是在变化的,所以产生的一定会是随机数
返回时间戳即随机值
#include<stdlib.h> #include<time.h> srand((unsigned int)time(NULL)); rand();
引头文件
#include<stdio.h> #include<stdlib.h> #include<time.h> //使用(unsigned)time(*p)需要引用头文件
主函数
int main() { int input = 0; srand((unsigned int)time(NULL));//设置随机数的起点 do { menu(); printf("请选择>"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: break; default: printf("输入错误请重新输入"); break; } } while (input); return 0; }
打印菜单
void menu() { printf("*******************************\n"); printf("**** 1.play ***********\n"); printf("**** 2.exit ***********\n"); printf("*******************************\n"); }
游戏逻辑
void game() { //电脑产生随机数 int random_num = rand() % 100 + 1;//定义随机数的范围 1-100 int input = 0; printf("请输入数字,进行游戏\n"); while (1) { //键盘输入数字 scanf("%d", &input); if (input > random_num) { printf("猜大啦\n"); } else if (input < random_num) { printf("猜小啦\n"); } else { printf("猜对啦\n"); break; } } }
注
srand()应该位于主函数中,
若错误地将其定义在game()中,当产生产生随机数时间间隔较小时
会出现产生的随机数相同