栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

使用C语言--编写人机猜数游戏

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用C语言--编写人机猜数游戏

由计算机产生一个四位数,请人猜这四位整数是多少。人输入一个四位数后,计算机首先判断
其中有几个位被猜对,并且将猜对的数打印出来,给人提示,请人在猜
当猜对时显示出结果

#include
#include
#include
int main()
{
    int seed, a, z = 0, t, i, c, m, g, s, j, k, arr[4];
    long ltime;
    ltime = (unsigned int)time(NULL);//用时间戳设置随机起点,只有用时间戳设置的随机数每次执行完才会变化成新值
    seed = ltime / 2;//除2表示缩小时间戳产生的数值
    srand(seed);
    //将时间戳产生的值固定在四位数之间
    if ((rand() % 10000) >= 1000 && (rand() % 10000) <= 9999)
    {
        z = rand() % 10000;//z为机器产生的四位数随机值
    }
    printf("机器已经设置好四位数****n");
    printf("%d", z);
    printf("n");
    for (c = 1;; c++)//c记录人所猜的次数
    {
        printf("请输入你猜的四位数:");
        scanf_s("%d", &g);
        printf("提示:n");
        a = z; j = 0; k = 0; arr[0] = arr[1] = arr[2] = arr[3] = 0;
        for (i = 1; i < 5; i++)//i表示随机值中的某位数
        {
            s = g;//猜数值给s,保证猜数值g不会丢失
            m = 1;//
            for (t = 1; t < 5; t++)//t表示猜想值中的某位数
            {
                if (a % 10 == s % 10)//随机值最后一位与猜想值最后一位比较
                {
                    //最后一位数字不同
                    if (m && t != arr[0] && t != arr[1] && t != arr[2] && t != arr[3])
                    {
                        j++;
                        m = 0;
                        printf("猜想值与随机值相同的数有%dn", s % 10);
                        arr[j - 1] = t;//记录相同数字时,该数字在所猜数字中的位置
                    }
                    if (i == t)
                    {
                        k++;//两数位置相同即数也相同,计数器k加1
                        printf("你猜的数中倒数第%d个数的位置相同,而且值相等为%dn", i, a%10);
                    }
                }
                s /= 10;
            }
            a /= 10;
        }
        printf("n总共有%d个数字相同,%d个位置相同n", j, k);//j记录相同数的个数,k记录几个数的位置相同
        if (k == 4)
        {
            printf("****你猜对了****n");
            break;
        }
    }
    printf("你总共猜了 %d 次n", c);
    return 0;
}
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384423.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号