优快云话题挑战赛第2期
参赛话题:学习笔记
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
结尾有所有代码展示啊,别跑哈。
目录
-
项目中解决的问题
该游戏中会有关于随机函数的调用问题以及所处的位置的关系。
void game() //定义game函数来实现游戏运行
{
//1.先要生成随机数,其指令是rand,引用rand需要头文件stdlib.h
//srand((unsigned int)time(NULL)); //NULL为引用空值,因为time函数有值,time前括号为强制转换。此句可将其放入主函数中
int num = rand()%100+1; //但是rand返回0到32767之间的数字,不够随机,所以改变方法如上。
//printf("%d\n", num);
//2.在进行猜数字。
int guess;
while (1)
{
printf("请猜数字:\n");
scanf("%d", &guess);
if (guess < num)
printf("猜小了\n");
else if (guess > num)
printf("猜大了\n");
else
{
printf("恭喜你猜对了,请重新选择是否游戏\n");
break;
}
}
}
-
做题思路
首先将整体的游戏框架可做流程图勾出,然后写下大的框架,如下。
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu(); //打印菜单
printf("请选择\n");
scanf("%d", &input);
switch (input)
{
case 1:
break;
case 0:
break;
default:
break;
}
} while (input);
return 0;
}
-
今天get到的小技巧:
通过视频学习,可以让我们更快的学会具体的函数的用法,并且我也学会了srand的用法以及时间戳的概念。
-
最后有总的代码展示如下。
#include<stdio.h> #include<stdlib.h> #include<time.h> void menu() { printf("****************************\n"); printf("******** 1.0 play ********\n"); printf("******** 0.exit ********\n"); printf("****************************\n"); } void game() //定义game函数来实现游戏运行 { //1.先要生成随机数,其指令是rand,引用rand需要头文件stdlib.h //srand((unsigned int)time(NULL)); //NULL为引用空值,因为time函数有值,time前括号为强制转换。此句可将其放入主函数中 int num = rand()%100+1; //但是rand返回0到32767之间的数字,不够随机,所以改变方法如上。 //printf("%d\n", num); //2.在进行猜数字。 int guess; while (1) { printf("请猜数字:\n"); scanf("%d", &guess); if (guess < num) printf("猜小了\n"); else if (guess > num) printf("猜大了\n"); else { printf("恭喜你猜对了,请重新选择是否游戏\n"); break; } } } int main() { int input = 0; srand((unsigned int)time(NULL)); do { menu(); //打印菜单 printf("请选择\n"); scanf("%d", &input); switch (input) { case 1: printf("猜数字\n"); game(); break; case 0: printf("退出游戏\n"); break; default: printf("选择错误,请重新选择\n"); break; } } while (input); return 0; }