本期内容应用的头文件有三个
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
猜数字游戏的实现
1. 电脑生成1~100随机数
2. 猜数字
猜大了,就告诉你:猜大了
猜小了,就告诉你:猜小了
猜对了,就告诉你:恭喜你,猜对了
1.1 调用游戏界面菜单
void menu() { printf("**********************************\n"); printf("*********** 1.play *********\n"); printf("*********** 0.exit *********\n"); printf("**********************************\n"); }
1.2 建立游戏分布模块
int main() { int input = 0; srand((unsigned)time(NULL)); do { menu(); printf("请选择>:"); scanf("%d", &input); switch (input) { case 1: printf("猜数字游戏\n"); break; case 0: printf("退出游戏\n"); break; default: printf("选择错误,请重新输入!\n"); break; } } while (input); return 0; }
1.3 调用游戏内容
void game() { int ret = rand() % 100 + 1; int input = 0; while (1) { printf("请输入猜的数字>:"); scanf("%d", &input); if (input > ret) { printf("猜大了\n"); } else if (input < ret) { printf("猜小了\n"); } else { printf("恭喜你,猜对了\n"); break; } } }
1. rand函数会返回一个0~32767之间的随机数
2. 所以想要得到0~100的随机数可以这样表示:rand()%100+1 //0~99+1-->1~100
3. 调用的随机数建议放在main主函数内部"srand((unsigned)time(NULL))",这样就会产生一次随机数。
1.4 完整版猜数字游戏展示
#include <stdio.h> #include <stdlib.h> #include <time.h> void menu() { printf("**********************************\n"); printf("*********** 1.play *********\n"); printf("*********** 0.exit *********\n"); printf("**********************************\n"); } void game() { int ret = rand() % 100 + 1; int guess = 0; while (1) { printf("猜猜数字:>"); scanf("%d", &guess); if (guess > ret) { printf("猜大了\n"); } else if (guess < ret) { printf("猜小了\n"); } else { printf("恭喜你,猜对了\n"); break; } } } int main() { int input = 0; srand((unsigned)time(NULL)); do { menu(); printf("请确认数字:>\n"); scanf("%d", &input); switch (input) { case 1: printf("猜数字游戏开始\n"); game(); break; case 0: printf("猜数字游戏结束"); break; default: printf("选择错误,请重新选择\n"); break; } } while (input); return 0; }