噜啦噜啦噜呼呼呼 2024-02-11 22:10 采纳率: 70.7%
浏览 9
已结题

蓝桥杯龟兔赛跑C语言

img


#include<stdio.h>
int main()
{
    int v1,v2,t,s,l,i,h,x1=0,x2=0,num;
    scanf("%d%d%d%d%d",&v1,&v2,&t,&s,&l);
    while(x1<l&&x2<l)
    {
        h++;
        x1+=v1;
        x2+=v2;
        if(x1==l||x2==l)
            break;
        if(x1-x2>=t)
        {
            num=s;
            while(num)
            {
                h++;
                x2+=v2;
                num--;
                if(x2==l)
                    break;
            }
        }
    }
    if(x1>x2)
        printf("R\n%d",h);
    else if(x1<x2)
        printf("T\n%d",h);
    else
        printf("D\n%d",h);
    return 0;
}

在自己的编译器里能运行出来,但在蓝桥杯练习系统显示错误,为什么啊 哎

img

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-02-11 22:14
    关注

    该回答引用自GPT-3.5,由博主GIS_Liu编写:

    这段代码在您的编译器里能够正常运行,但在蓝桥杯练习系统中显示错误的原因可能是因为存在一些编译器或环境的差异导致的。下面是我发现的一些问题以及解决方案:

    1. 在代码中使用了未初始化的变量h。在C语言中,未初始化的局部变量的值是不确定的,因此需要显式地将其初始化为0。在int v1,v2,t,s,l,i,h,x1=0,x2=0,num;这行代码中,将h初始化为0即可。
    int v1,v2,t,s,l,i,h=0,x1=0,x2=0,num;
    
    1. 在代码中使用了未声明的变量h++,这将导致编译错误。应该在使用h之前先声明并初始化。
    int h = 0;
    
    1. 循环条件while(x1<l&&x2<l)可能会导致一些问题。当兔子和乌龟同时达到终点时,循环可能会继续执行一次,导致错误的计数。建议使用while(x1<l && x2<l)作为循环条件。

    这些修改后的代码如下:

    #include<stdio.h> 
    int main() { 
        int v1,v2,t,s,l,i,h=0,x1=0,x2=0,num; 
        scanf("%d%d%d%d%d",&v1,&v2,&t,&s,&l); 
        while(x1<l && x2<l) { 
            h++; 
            x1+=v1; 
            x2+=v2; 
            if(x1==l || x2==l) 
                break; 
            if(x1-x2>=t) { 
                num=s; 
                while(num) { 
                    h++; 
                    x2+=v2; 
                    num--; 
                    if(x2==l) 
                        break; 
                } 
            } 
        } 
        if(x1>x2) 
            printf("R\n%d",h); 
        else if(x1<x2) 
            printf("T\n%d",h); 
        else 
            printf("D\n%d",h); 
        return 0; 
    }
    

    这样修改后的代码应该就能在蓝桥杯练习系统中正确运行了。

    img

    如果该回答解决了您的问题,请采纳!如果没有,请详述问题所在!

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

报告相同问题?

问题事件

  • 系统已结题 2月21日
  • 已采纳回答 2月13日
  • 创建了问题 2月11日

悬赏问题

  • ¥50 求解vmware的网络模式问题
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?