前言
猜数字是一个很有意思的小游戏,我在学习了循环和选择语句之后,自己尝试着写了这个小游戏。现在将它分享出来,如果各位小伙伴们有其他的思路和建议也欢迎在评论区交流。
一、预备知识
srand函数:
作用:设置随机数的起点;
头文件:stdlib.h;
备注:整个工程只需要使用一次。
rand函数:
作用:返回一个随机数(整数),范围是0~32767;
头文件:stdlib.h
备注:
①不需要参数;
②一般和srand搭配使用产生伪随机数序列
time函数:
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
作用:time()返回当前时间的时间戳
头文件:time.h;
备注:
①它的返回值类型是size_t,使用时可以强制类型转换为unsigned int。
②参数一般放置NULL。
二、程序流程(思路)
主程序流程:
游戏部分流程:
三、源代码及运行截图
为了方便大家的学习和交流,我将这个小游戏的源代码放置在下方,同时还有我的运行截图。
源代码:
#define _CRT_SECURE_NO_WARNINGS //猜数字小游戏 #include<stdio.h> #include<stdlib.h>//srand()的头文件 #include<time.h>//时间戳time()的头文件 #define Num 100 #define Min 1 //宏定义Num和Min可以修改猜数字的范围(当前猜数字范围为1~100) void menu()//主菜单 { printf("*****************************\n"); printf("********* 菜单 **********\n"); printf("********* 1.play **********\n"); printf("********* 0.exit **********\n"); printf("*****************************\n"); } void game()//游戏部分 { int m = 0; int n = rand() % Num + Min;//rand生成一个随机数(0~32767),通过%Num限制猜数字的范围,Min是最小值。 while (1) { printf("请猜数字(猜数字的范围是%d~%d):>", Min, Num); scanf("%d", &m); if (m > n) { printf("猜大了!\n"); } else if (m < n) { printf("猜小了!\n"); } else { printf("猜对了!\n"); break; } } } int main() { srand((unsigned int)time(NULL));//srand设置随机数的起点;time时间戳。 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; }
运行截图:
总结
以上就是今天要讲的内容,本文简单的介绍了用C语言实现猜数字小游戏的思路,还进一步展示了代码的运行结果验证了作者的思路,在练习选择语句和循环语句的同时还学习了部分关于时间戳方面的知识。
本文的作者也只是一个正在学习C语言等编程知识的萌新,若这篇文章中有哪些不正确的内容,请在评论区向作者指出(也可以私信作者),欢迎大佬们指点,也欢迎其他正在学习C语言的萌新和作者进行交流。
最后,如果本篇文章对你有所启发的话,也希望可以支持支持作者,后续作者也会定期更新学习记录。谢谢大家!