A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tingfeng1992 中级黑马   /  2015-6-21 01:17  /  1305 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

猜数游戏的玩法是电脑产生一个1--1000之内的随机数,给玩家十次机会,看能否才对。该游戏的实现利用for循环,判断玩家是否能在十次内猜对。
算法思想如下: 1.首先设置两个变量用来存放玩家输入的数据和电脑产生的随机数
2.使用随机数函数,产生一个1-1000范围内的随机数
3.设置一个循环,使玩家最多可以猜数猜10次。如果玩家猜出,玩家赢了,游戏结束;或者到了10次还是没有猜出来,游戏结束,玩家失败
4.在循环内提醒玩家输入要猜得数
5.接收玩家输入的数
6.判断玩家输入的数是否属于1-1000这个范围
7.做比较,判断玩家输入的数是否与电脑的随机数相同,并且输出比较结果,并且决定下一步的执行程序:如果猜对了,结束游戏;如果没猜对,并且猜测次数不到10次,重新猜测;如果已经是第10次,结束游戏;

游戏代码如下:#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char * argv[]) {
    int playerNum=0;
    int randomNum=0;
    randomNum=arc4random_uniform(1000)+1;//产生1-1000范围内的随机数
    //printf("随机数%d\n",randomNum);一般是不需要输出,但是作为测试可以输出
    int oldNumber=0;
    for(int i=1;i<=10;i++)
    {
        printf("第%d次,你还有%d次机会,你上次猜测的数为%d\n请输入你要猜测的数:\n",i,10-i,oldNumber);
        scanf("%d",&playerNum);
        {
            if(playerNum==randomNum)
            {
                printf("恭喜你猜对了,游戏结束!!\n");
                return 0;
            }
            else if(playerNum>randomNum)
            {
                printf("猜大了\n");
            }
            else
            {
                printf("猜小了\n");
            }
        }
        oldNumber=playerNum;
   
    }
    printf("游戏失败,你没有猜对,正确答案是%d\n",randomNum);
    return 0;
}

2 个回复

倒序浏览
我感觉这个好难啊
回复 使用道具 举报
张国繁 发表于 2015-6-21 10:44
我感觉这个好难啊

还好吧,就是一个for循环,循环10次,我感觉主要是随机数,这个真不熟悉
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马