我也写一个,您看看符合要求不?
我用的编写软件是DEV C++ (devcpp-4.9.9.2):
这里我就不产生随机数了,系统被猜数我设定为 600 :
程序运行正常:
#include<stdio.h>
void main(){
int systemNumber=600; //系统被猜数
int num=0; //用户输入的猜测数
int i=20; //计算机会次数的变量
char again; //是否继续游戏
do{
printf("您好,现在请您猜一个1000以内的整数。\n您有20次机会,每次您猜错了,系统会提示您猜得大了或者小了。祝您玩得愉快!\n");
while(i>0){
printf("请猜数,还有次%d机会:",i);
scanf("%d",&num);
if(num==systemNumber){ //用户猜对
printf("恭喜您,猜对了!\n");
break;
}else{ //用户猜错
if(num>systemNumber){ //猜大了
printf("对不起,您输入的数字过大。\n");
}else{ //猜小了
printf("对不起,您输入的数字过小。\n");
}
}
i--;
//猜测的机会减去一次
}
printf("继续游戏 y ; 退出游戏 n ;");
fflush(stdin); //清空键盘缓存
again=getchar(); //接收用户输入的字符
}while(again=='y' || again=='Y'); //输入的是小写的 y 或者大写的 Y ,继续游戏
}