#include <stdio.h>
int main()
{
int t=0,trab=0,T,dtur=0,drab=0
/*定义外界时间t,兔子时间trab,输入时间T,乌龟跑的距离dtur,兔子跑的距离drab*/
int 老段rest=0/*定义休息标识1,初始化为0*/
printf("请输入兔子和乌龟已经跑了的时间:")
scanf("%d",&T)
while(t!=T)
{
dtur+=3//乌龟移动
if(rest!=1)//如果兔子不在休息状态
{
trab++//兔子时间流逝
drab+=9//兔子移动
}
t++//外界时间流逝
if(trab%10==0&&rest==0)
{//如果兔子时间是10的整数倍且兔子不在休息状态,则回头查看和乌龟的距离
if(drab>dtur)//如果兔子在乌龟前面
{
rest=1
trab+=30//兔子休息,兔子时间先增加30,等外界时间追上
}
}
if(t==trab)//如果外界时间增加到和兔子时间一样,则唤醒兔子
rest=0
}
printf("兔液掘子,乌龟分别了%d米,%d米 ---> ",drab,dtur)
if(drab>dtur)
{printf("兔子快!!\n")}
else if(drab<dtur)
{printf("乌龟快!!\n")}
else if(drab==dtur)
{printf("一样快侍埋誉!!\n")}
return 0
}
#include<stdio.h>int main(void)
{
int l,n,c,t,vr,vt1,vt2,s1,s2,w=0
scanf("%d",&l)
scanf("%d",&n)
scanf("%d"帆数,&c)
scanf("%d",&t)
scanf("%d"态磨首,&vr)
scanf("%d",&vt1)
scanf("%d",&vt2)
for(int p[100],d=0d<nd++)
{
p[0]=1
scanf("%d",&p[d+1])
if((p[d+1]-p[d]) >= c)
w=w+c
else
w=w+p[d+1]-p[d]
}
s1=l/vr
if(w <= l)
s2=(l-w)/vt2+w/vt1
else
s2=l/vt1
if(s2 >s1)
printf("What a pity rabbit!")
else
printf("Good job,rabbit!")
return 0//第一游者次帮人写代码,有点小激动
}
类声瞎游汪明文件#ifndef THJ_h
#define THJ_h
using namespace std
class tor{
public:
int move() //乌龟移动
}
class har{
public:
int move() //兔子移动
}
class jud{
private:
int t_pos //乌龟位置
int h_pos //兔子位置
enum {race_end=100} //赛道长度
public:
jud(int a=0,int b=0){t_pos=ah_pos=b}
void restart() //重新比赛
void update(int t,int h) //磨扰更新乌龟和磨仔兔子的位置
void print_title() //输出标题
void print() //输出当前乌龟和兔子的位置
bool judge(int &winner)const //判断比赛是否结束及胜者
}
#endif
类实现文件
#include "THJ.h"
#include <iostream>
//#include <ctime>
using namespace std
int tor::move()
{
//srand(time(NULL))
int x=rand()*10/(RAND_MAX+1)
if(x>=0 &&x<=4)
return 3
else if(x>=5 &&x<=6)
return -6
else
return 1
}
int har::move()
{
//srand(time(NULL))
int y=rand()*10/(RAND_MAX+1)
if(y>=0 &&y<=1)
return 0
else if(y>=2 &&y<=3)
return -9
else if(y==4)
return 14
else if(y>=5 &&y<=7)
return 3
else
return -2
}
void jud::restart()
{
t_pos=0
h_pos=0
}
void jud::update(int t,int h)
{
t_pos+=t
h_pos+=h
}
void jud::print_title()
{
cout<<"\t乌龟\t兔子"<<endl
cout<<"\t=======\t======="<<endl
}
void jud::print()
{
cout<<"\t"<<t_pos<<"米\t"<<h_pos<<"米\n"
}
bool jud::judge(int &winner)const
{
if(t_pos>=race_end || h_pos>=race_end){
if(t_pos>h_pos)
winner=0
else if(t_pos<h_pos)
winner=1
else if(t_pos==h_pos)
winner=2
return true
}
else
return false
}
主程序
#include "THJ.h"
#include <iostream>
#include <ctime>
using namespace std
int main0() //龟兔赛跑模拟
{
srand(time(NULL))
tor tor
har har
jud jud
int winner
jud.print_title()
while(!jud.judge(winner)){
jud.update(tor.move(),har.move())
jud.print()
}
switch(winner){
case 0:cout<<"**********乌龟赢啦!**********\n\n"break
case 1:cout<<"**********兔子赢啦!**********\n\n"break
case 2:cout<<"**********平局!**********\n\n"break
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)