1.自动产生一个1-100之间的随机数
2.猜对了 ——恭喜你,游戏结束
3.猜错了 ——提示你猜大了或猜小了,继续猜,直到猜对
4. 游戏一直玩,除非退出游戏
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h>//rand、srand #include<time.h>//time void menu() { printf("**************************\n"); printf("****** 1.play ******\n"); printf("****** 0.exit ******\n"); printf("**************************\n"); } void game() { //1.生成随机数 //作为了解: //rand是一个库函数,它的返回值是0-RAND_MAX(转到定义即可查看)->0-32367;这里只使用rand函数时 - 程序每重新运行,生成的随机数与上次运行的随机数是一样的 //在使用rand生成随机数时,要先调用srand函数来设置随机数生成器;现在srand(100)运行程序时里面生成的随机数是一样的 //所以srand()里的参数是需要不断变化的 —— srand(系统时间) //通过time函数返回计算的时间戳 - time(NULL)参数传空 - time函数的返回值是time_t,通过转到定义查看是一个整型 - srand函数的参数类型是unsigned int - 所以需要强制类型转换 //注意随机数生成器srand不能放到循环里头,我们把它放到主函数内 int ret = rand()%100+1;//%100的余数是0-99,+1就是1-100 //2.猜数字 int guess = 0; while(1) { printf("猜数字(1-100):>"); scanf("%d", &guess); if (guess < ret) { printf("猜小了\n"); } else if (guess > ret) { printf("猜大了\n"); } else { printf("恭喜你,猜对了\n"); break; } } } int main() { srand((unsigned int)time(NULL));//随机数生成器 int input = 0; do { menu();//自定定函数 —— 打印菜单 printf("请选择:>"); scanf("%d", &input); switch (input) { case 1: game();//自定义函数 —— 实现猜数字的功能 break; case 0: printf("退出游戏\n"); break; default: printf("你的选择不在有效范围内,请重新选择\n"); break; } }while(input); return 0; }