跪求解答!一道关于C语言的题目

1. 电脑随机产生1000—9999之间的数字(包括1000、9999);
提示:用rand函数,该函数在stdlib.h库中,并保证多次运行产生不同的随机数
2. 玩家每轮有七次猜数的机会,如果七次都没有猜到,则失败,判为0分;
3. 玩家每轮可以请求帮助,提问关于产生数字的信息,扣分细则如下;
4. 游戏以百分制形式,初始分为100,最后得分最多为赢家。
 帮助内容及扣分细则:
. 判断你所猜的数中各位数字对应位置正误情况,以R表正确,E表错误。若随机数是2537,而猜的数是1234,则输出EERE,代表猜的数第3位正确,第1,2,4位错误。
——扣当前分数的1/10
. 判断你所猜的数中正确数字是什么。若随机数是2537,而猜的数是1234,则输出有两个数字正确,它们是2,3。 ——扣当前分数的1/10

你的代码呢?不能一行也不写吧!

楼上说得有道理
这个不难的,可以自己试着写下,能增强自己的动手能力,是个很好的机会

用你代码改的,多写写就好

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void help(int type, int r, int input)
{
    char szR[16] = {0};
    char szI[16] = {0};
    char* pR = itoa(r, szR, 10);
    char* pI = itoa(input, szI, 10);

    if (type == 0)
    {
        printf("匹配的结果:  ");
        for (int n = 0; n < 4 ; n++)
        {
            if (pR[n] == '\0' || pI[n] == '\0')
                printf("E");
            else
            {   
                if (pR[n] != pI[n])
                    printf("E");
                else
                    printf("R");
            }
        }
    }
    else
    {
        printf("猜对的数字:  ");
        for (int n = 0; n < 4 ; n++)
        {
            if (pR[n] == '\0' || pI[n] == '\0')
                return;

            if (pR[n] == pI[n])
                printf("%c,", pI[n]);
        }
    }

    printf("\n");
}


int main() 
{ 
    int input = 0; 
    int r = 0; 

    while (true) 
    { 
        srand((int)time(0));            // 设置随机种子, 保证多次运行产生不同的随机数
        r = rand() % 10000 + 1000;      // 电脑随机产生1000—9999之间的数字(包括1000、9999)

        int nCount = 0;
        int sort = 100;
        int help_type = 0;
        while (nCount < 7) 
        { 
            printf("\nplease enter a number [1000, 9999]:"); 
            scanf("%d", &input); 

            if (r != input)
            {
                if (nCount == 6)    // 第七次猜错了
                    break;

                printf("\n猜数错误,请选择需要的帮助(输入数字序号):\n");
                printf("0:你所猜的数中各位数字对应位置正误情况\n");
                printf("1:你所猜的数中正确数字是什么\n");
                printf("其他数字:表示你不需要帮助\n\n");

                scanf("%d", &help_type); 

                if (help_type == 0 || help_type == 1)
                {
                    help(help_type, r, input);
                    sort -= sort / 10;
                }

                printf("\n猜数第%d次,当前分数%d\n",nCount + 1, sort); 

            }
            else
            {
                printf("\n\n=========================================== \n");
                printf("=========================================== \n");
                printf("你成功猜出结果,最终的分数是%d,游戏重新开始\n");
                break;
            }

            ++nCount;
        } 

        if (nCount >= 7)
        {
            printf("\n\n=========================================== \n");
            printf("=========================================== \n");
            printf("你最终的分数是0,正确数字为%d,游戏重新开始\n", r);
        }
    } 

    return 0; 
}