gegeda123 2016-12-16 08:52 采纳率: 0%
浏览 1162
已采纳

求解一道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
#include
int sort = 100;
int main()
{
int in = 0;
int r = 0;
while (1)
{
r = rand();
while (1000 <= r && r <= 9999)
{
printf("please enter data:");
scanf("%d", &in);
if (in > r || in < r) //如果大或小,减去当前分数的1/10
sort -= sort / 10;
printf("当前分数%d\n", sort);
}
}
return 0;
}

  • 写回答

3条回答 默认 最新

  • Mr.Stone^_^ 2016-12-16 09:06
    关注

    #include "stdio.h"
    #include "stdlib.h"
    int sort = 100;
    int main()
    {
    int in = 0;
    int r = 0;
    int sum,j;
    while (1)
    {
    i=0;
    char help;
    r = rand();
    while (1000 <= r && r <= 9999 && sum {
    printf("please enter data:");
    scanf("%d", &in);
    printf("Do you need help?Y/N");//是否选择帮助,Y选择帮助,N不需要帮助
    scanf("%c",&help);
    if(help=='Y')//Y选择帮助
    {
    int next,next1;
    int num1,num2;
    printf("Select help mode :position:1/Correct:2");//选择帮助类型,1为查看对应位置正确性,2为查看正确数字
    scanf("%d",&j);
    if(j==1)//1为查看对应位置正确性
    {
    num1=in;num2=r;
    char s[4];
    for(next=0;next {
    if(num1%10==num2%10)//对应位置对比
    {
    s[4-next-1]="R";
    }
    else
    {
    s[4-next-1]="E";
    }
    num1=num1/10;
    num2=num2/10;
    }
    puts(s);//输出对比结果
    }
    else if(j==2)//2为查看正确数字
    {
    int s[4];
    num1=in;
    int g=0;
    for(next=0;next {
    num2=r;
    for(next1=0;next1 {
    if(num1%10==num2%10)
    {
    s[g++]=num2%10;
    }
    num2/=10;
    }
    num1/=10;
    }
    puts(s);//输出对比结果
    }
    sort-=sort/10;//扣除使用帮助分
    printf("当前分数%d\n", sort);
    }
    if (in > r || in < r) //如果大或小,减去当前分数的1/10
    sort -= sort / 10;
    printf("当前分数%d\n", sort);
    sum++;//
    }
    }
    return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog