让计算机来想一个数,然后让用户来猜用户每输入一个数,就告诉它是大了还是小了,直到用户猜中为止,最后还要告诉用户它猜了多少次。
ps:C代码中的注释要用//,语句结束要加;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(0));
int number = rand()%100+1; //使计算机输入的数在[0,100]
int x;
int count=1;
printf("我想好了,你来猜一猜吧.\n");
scanf("%d",&x);
while(x!=number){
count++;
if(x>number){
printf("你猜的数太大了,请继续猜吧.\n");
}
else{
printf("你猜的数太小了,请继续猜吧.\n");
}
scanf("%d",&x);
}
printf("你猜对了!这个数就是%d.\n",number);
printf("你一共猜了%d次.\n",count);
}
提问:如果用户输入的数不在0-100之间呢(参考mooc同学改进)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(0));
int number = rand()%100+1; //使计算机输入的数在[0,100]
int x;
int count=1;
printf("我想了一个0-100的数,你来猜一猜吧.\n请输入一个0-100的数:\n");
scanf("%d",&x);
while(x!=number){
count++;
if(x>100||x<0){
printf("你输入的数字超出范围了,这个数在0-100之间,请继续猜吧:\n");
}
else if(x>number){
printf("你猜的数太大了,请继续猜吧:\n");
}
else{
printf("你猜的数太小了,请继续猜吧:\n");
}
scanf("%d",&x);
}
printf("你猜对了!这个数就是%d.\n",number);
printf("你一共猜了%d次.\n",count);
}