- /*
- *设计一个疯狂猜数的游戏
- *要求电脑随机产生一个数,然后让玩家开始猜;
- *玩家有十次机会,每次猜完之后,提醒玩家猜大了,或者是猜小了;
- *当玩家猜对之后,或者十次机会用完之后,结束游戏,并分别进行提示:
-
- */
- #include<stdio.h>
- #include<stdlib.h>
- int main()
- {
- // 引入变量,用来接收电脑产生的数,玩家输入的数,当前大数,小数, 次数;
-
- int inPut,outPut,low,high,count;
- // 电脑随机产生一个1---1000数
- outPut=arc4random_uniform(1000)+1;
- // 初始化 high,low;
- high=1000,low=1;
- // 初始化次数
- count=10;
- // 使用循环
- while(count){
- // 提示用户开始游戏
- printf("请输入一个数");
- // 获取玩家输入的数
- scanf("%d",&inPut);
- // 计数;
- count--;
- // 将玩家的数和电脑数比较;并排除非法输入;
- if(inPut>high||inPut<low){
- printf("你知道你浪费了一次机会么");
- }
- // 如果玩家猜对了,提示恭喜你,你很棒,并结束游戏;
- else if(inPut==outPut){
- printf("恭喜你,你很棒,顺利结束了游戏!");
- break;
- }
- // 如果玩家猜错了,则分两种情况:
-
- // 如果玩家猜大了,并且此数小于 high, 则将此数覆盖掉 high; 并提示玩家当前范围;
- else if(inPut>outPut){
- high=inPut;
- printf("有一好一坏两个消息\n");
- printf("1.坏消息是:你猜大了\n");
- printf("2.好消息是:你把范围缩小到了%d---%d\n",low,high);
- }
- // 如果玩家猜小了,并且此数大于 low, 则将此数覆盖掉 low;并提示玩家当前范围:
- else{
- low=inPut;
- printf("有一好一坏两个消息\n");
- printf("1.坏消息是:你猜小了\n");
- printf("2.好消息是:你把范围缩小到了%d---%d\n",low,high);
-
- }
- // 提示用户还有几次机会:
- printf("3.你还有%d 次机会,努力吧,少年!!",count);
- }
- return 0;
- }
复制代码 |