messiuuuu 2023-10-24 16:21 采纳率: 95.2%
浏览 32
已结题

龟兔赛跑相关C语言问题

问题龟兔赛跑如下,我的思路是分别用两个变量来表示乌龟和兔子奔跑的时间,然后最后算奔跑的距离,我不知道我的代码哪里错了,请各位帮我看看

乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

输入格式:
输入在一行中给出比赛时间T(分钟)。

输出格式:
在一行中输出比赛的结果:乌龟赢输出@@,兔子赢输出^_^,平局则输出--;后跟1空格,再输出胜利者跑完的距离。

#include<stdio.h>
int main()
{
    int v1=9,v2=3;
    int s1=0,s2=0;
    int t1=0,t2=0;
    int T;
    scanf("%d",&T);

    for(t2=0;t2<T;){
        if(T<=10){
            s1=v1*T;
            s2=v2*T;
            break; 
        }
        if(T>10){
        if(s1<=s2){
            t1=t1+10;
            t2=t2+10;
            s1=v1*t1;
            s2=v2*t2;
        }else if(s1>s2){
            t1=t1+0;
            t2=t2+30;
            s1=v1*t1;
            s2=v2*t2;
        }
   }
}
    if(T>=10){
        if(s1<=s2){
            if(t2>T){
           s2=v2*T;
           s1=v1*(t2+T-(t1-10));
        }
    }
        if(s1>s2){
            if(t2>T){
            s2=v2*T;
            s1=v1*t1;
        }
    } 
}
    if(s1>s2){
        printf("^_^ %d",s1);
    }else if(s1<s2){
        printf("@_@ %d",s2);
    }else if(s1==s2){
        printf("-_-");
    }
    
    return 0;
}


  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-24 18:46
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 10月24日

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?