一、题目:
让计算机想一个数,然后让用户来猜,用户每输入一个数,就告诉他是大了还是小了,知道用户猜中为止。最后还需要告诉用户他猜中了多少次。
二、编程思路分析:
- 计算机输入一个随机数。
- 用户输入随机数。
- 计算机判断之后给予提示(大还是小)。
- 用户重新输入。
- 直到用户猜中随机数,计算机输入最终结果和猜了多少次。
三、重点运算思路:
- “编程思路分析”中的2 - 5步需要用循环实现,因为需要计算机重复判断用户输入的数字是否符合计算机输入的数字,每一次判断都需要给出提示。
- 首先,关于count计数的方式有很多,使用do-while循环可以节省空间,并且让代码看着简洁好辩认。
- 其次,在用户输入数字之后,需要让程序做一次if-else if的判断语句(这里也是为了方便阅读,使用if-else需要额外的思考),目的是告知用户输入的数字大了还是小了。
四、实现代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main(){
srand(time(0));
int number = rand()%100 + 1; //计算机生成一个随机数。
int count = 0;//计数
int a = 0;//用户输入的数字
printf("我已经想好了一个1-100之间的数\n");
do{
printf("猜猜这个1到100之间的数:\n");//提示用户可以输入数字
scanf("%d", &a);
count++;
if( a < number ){
printf("您猜的数小了");
}else if( a > number ){
printf("您猜的数大了");
}
}while(number != a);
printf("恭喜你猜对了!a = %d,您一共输入%d次", a, count);
return 0;
}