PTA基础编程题目集 7-22 龟兔赛跑(C语言实现)

发布时间:2026/7/31 3:47:30

PTA基础编程题目集 7-22 龟兔赛跑(C语言实现) 本文摘要 本文以经典的乌龟与兔子赛跑问题为例详细介绍了问题描述、输入输出格式并通过 Mermaid 流程图与 C 语言代码展示了按分钟模拟乌龟匀速前进、兔子按规则跑步与休息的完整逻辑与实现。题目描述乌龟与兔子进行赛跑跑场是一个矩形跑道跑道边可以随地进行休息。乌龟每分钟可以前进 3 米兔子每分钟前进 9 米兔子嫌乌龟跑得慢觉得肯定能跑赢乌龟于是每跑 10 分钟回头看一下乌龟若发现自己超过乌龟就在路边休息每次休息 30 分钟否则继续跑10分钟而乌龟非常努力一直跑不休息。假定乌龟与兔子在同一起点同一时刻开始起跑请问 T 分钟后乌龟和兔子谁跑得快输入格式输入在一行中给出比赛时间 T分钟。输出格式在一行中输出比赛的结果乌龟赢输出 兔子赢输出_平局则输出 --后跟1空格再输出胜利者跑完的距离平局输出乌龟或兔子跑完的距离均可。输入样例242输出样例_ 726是否是是否否循环结束rabbit turtleturtle rabbit相等开始输入比赛时间 T初始化 turtle0, rabbit0, rest0, run0每分钟循环 t 1 到 T乌龟前进 3 米: turtle 3兔子是否在休息? rest 0?休息: rest - 1兔子前进 9 米: rabbit 9, run 1是否已跑满 10 分钟? run 10?兔子是否超过乌龟? rabbit turtle?兔子休息 30 分钟: rest 30继续跑步重置 run 0重置 run 0进入下一分钟 t比较 rabbit 和 turtle输出 ^_^ rabbit输出 _ turtle输出 -_- turtle结束代码部分实现#includestdio.hintmain(){intT;scanf(%d,T);intturtle0;// 乌龟的距离intrabbit0;// 兔子的距离intrest_time0;// 兔子休息剩余时间intrun_time0;// 兔子已跑时间for(intt1;tT;t){turtle3;// 乌龟一直跑if(rest_time0){rest_time--;// 兔子在休息}else{rabbit9;// 兔子在跑run_time;// 每10分钟检查一次if(run_time10){if(rabbitturtle){rest_time30;// 超过乌龟休息30分钟}run_time0;// 重置跑步时间}}}if(rabbitturtle){printf(^_^ %d\n,rabbit);}elseif(turtlerabbit){printf(_ %d\n,turtle);}else{printf(-_- %d\n,turtle);}return0;}

相关新闻