前言
该代码运行时会生成一个随机数(这里设置的是生成1~100间的一个整数如有需要读者根据下文所讲解修改即可),然后你输入一个你猜的数,如果大了提示“您输入的数字大了,您还有%d次机会!”,反之提示“您输入的数字小了,您还有%d次机会!”,等于的话提示“恭喜您猜对了!”结束程序。
这里设置最多可以猜五次,读者可根据需求修改游戏规则。
运行结果
—
一、注意
这里博主用的编译器是Visual Studio 2022
若读者使用的也是Visual Studio的话则需要在第一行加入如下代码,否则使用scanf函数会报错。
#define _CRT_SECURE_NO_WARNINGS 1
二、答案
1.源代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<time.h>
int main()
{
int c,b,a,q;
q=6;
srand(time(NULL));
a=1+(rand()%100);
printf("a=%d\n",a);
for(b=1;b<=6;b++)
{q--;
printf("请您输入一个数字:");
scanf("%d",&c);
if(c>a){printf("您输入的数字大了,您还有%d次机会!\n",q);}
else if(c<a){printf("您输入的数字小了,您还有%d次机会!\n",q);}
else if(c==a){printf("恭喜您猜对了!\n");
break;}
}
return 0;
}
2.代码讲解
1.如何生成随机数
生成随机数需要引入一个头文件
time.h定义了四个变量类型,两个宏信息和各种函数用于操纵日期和时间。
#include<time.h>
引入一个函数
若只有a=1+(rand()%100)而没有上述头文件和srand(time(NULL))函数的话则每次生成的数都是一样的。
srand(time(NULL));
a=1+(rand()%100);
2.如何修改生成随机数的范围
例:如果读者期望的范围为20~900的话就把下列带码中的1改为20,%100改为%900即可。同理,读者可根据需求类比修改。
a=1+(rand()%100);
3.如何修改猜测的最多次数
将你期望的最多猜测次数赋值给q即可。
总结
这段代码的核心部分是生成随机数的部分,其中的思想在很多地方都有出现,除此之外用到的循环和条件判断都比较容易看懂,所以个程序还是比较容易理解的。