题目描述
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
输入格式
输入在一行中给出比赛时间T(分钟)。
输出格式
在一行中输出比赛的结果:乌龟赢输出 @_@,兔子赢输出 ^_^,平局则输出 -_-;后跟1空格,再输出胜利者跑完的距离。
输入样例
在这里给出一组输入。例如:
242
输出样例
在这里给出相应的输出。例如:
@_@ 726
以下是我的程序。
#include <stdio.h> int main() { int T; scanf("%d", &T); int swu = 0;//乌龟前进总距离 int stu = 0;//兔子前进总距离 int rest = 0;//兔子的休息时间 int rtu = 0;//兔子连续跑步的时间 for (int i = 1; i <= T; i++) { swu += 3; if (rest > 0) { rest--; } else { stu += 9; rtu++; //每次连续跑十分钟,看一下乌龟的位置 if (rtu == 10) { if (stu > swu) { rest = 30; } rtu = 0; } } } if (swu > stu) { printf("@_@ %d\n",swu); } else if (swu < stu) { printf("^_^ %d\n",stu); } else { printf("-_-\n"); } return 0; }引入兔子的休息时间来控制兔子是否在跑步,同时用rtu来控制每连续跑十分钟兔子看一次乌龟的位置,从而达到题目的要求。
欢迎各位大神指点我的程序!