题目:
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
代码:
#include<stdio.h>
int main(){
int t=0,g=0,s=0,T; //兔子t,乌龟g,计时器s,时间T
scanf("%d",&T);
while(T>0){
g+=3; //乌龟全程跑
if(s<10){ //兔子10s跑
t+=9;
}
s++; //计时器+1
if(s==10&&t<g){ //兔子回头看,如果比乌龟慢,计时器置0重新跑
s=0;
}
if(s==40){ //比乌龟快,休息30s,计时器到40s
s=0; //计时器置0重新跑
}
T--; //时间T-1
}
if(g>t)
printf("@_@ %d",g);//乌龟赢
else if(t>g)
printf("^_^ %d",t);//兔子赢
else
printf("-_- %d",g);//平局,但也需要输出成绩(题干很迷惑)
return 0;
}
一个废物,刷题遇到这个题目,自己废九牛二虎之力终于写出正确代码。
不纪念一下真可惜了,哈哈。