首先,先分析变量,需要一个变量给电脑生成数,一个变量让用户输入,一个变量存用户猜的数。
其次,需要用到判断语句和循环语句,判断语句用if 循环语句用do while。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand(time(0));
int a = rand()%100+1;
int number = 0;
int count=0;
printf("我已经想好一个数了,快来猜一猜:");
do {
scanf("%d",&number);
count++;
if (number > a) {
printf("大了,再试一次:");
}
else if(number<a)
printf("小了,再试一次:");
} while (number != a);
printf("您猜了%d次,恭喜你,猜对了!",count);
return 0;
}
值的注意的是,需要报俩个头文件<stdlib.h>和<time.h> 以及srand的用法,用srand生成随机数,是一个较大的数,因此需要进行%100的处理。
有俩个易错点:当number<a时,需要用else if 进行判断而不是直接用else,因为else还包含了a=number这一情况,do while是先循环后判断的。如果直接用else最后会多输出一句。勇于尝试的小伙伴可以试一下。
第二个就是输入一个数也是属于循环体的,也就是说scanf("%d",&number);需要放在do{ },顺带提一下,在调用sacnf()函数时,不要忘记“&”哦!
以上是我的个人感受和看法,有错误欢迎 评论区指正和讨论哦~