######不能正确按输出样例输出
#include
#include
int main()
{
int h=0,m=0,s=0;
double d,v1,v2,x1,x2,t,r,o,p,q;
scanf("%lf%lf%lf",&d,&v1,&v2);
scanf("%lf%lf%lf",&o,&p,&q);
x1=v1*5/18,x2=v1*5/18;r=1000*d;
if(v1>=v2)
printf("None\n");
else
{
double i=3600;
t=r/(x2/x1);
while(t/i!=0)
{
h++;
i*=(h+1);
}
t=fmod(t,3600);double j=60;
while(t/j!=0)
{
m++;
j*=(m+1);
}
s=fmod(t,60);
s=s+q;
if(s>=60)
{
s++;
s=fmod(s,60);
}
if(m>=60)
{
h++;
m=m%60;
}
while(h>24)
{
h=h-24;
}
printf("%d:%d:%.1f\n",h,m,s);
}
return 0;
}
你看这样可行吗?
不懂得可以问我
#include<stdio.h>
#include<math.h>
int main()
{
int h=0,m=0;//最终时刻小时 分
double s=0;//秒
double t;//
double d,v1,v2,o,p,q;
scanf("%lf%lf%lf",&d,&v1,&v2);
scanf("%lf%lf%lf",&o,&p,&q);
//x1=v1*5/18,x2=v1*5/18;r=1000*d;
if(v1>=v2)
printf("None\n");
else
{
double i=3600;
t=d/(v2-v1);
t=t*3600+o*3600+p*60+q;
h=t/3600;
m=(t-h*3600)/60;
s=(t-h*3600-m*60);
printf("%d:%d:%.1f\n",h,m,s);
}
return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{
int h=0,m=0,s=0;
double d,v1,v2,x1,x2,t,r,o,p,q;
scanf("%lf%lf%lf",&d,&v1,&v2);
scanf("%lf%lf%lf",&o,&p,&q);
x1=v1*5/18,x2=v2*5/18;r=1000*d;
if(v1>=v2)
printf("None\n");
else
{
t=r/(x2-x1);
h = t / 3600;
t -= h * 3600;
m = t / 60;
t -= m * 60;
s = t;
s += q;
if(s>=60)
{
s -= 60;
m += 1;
}
if(m>=60)
{
m -= 60;
h += 1;
}
while(h>24)
{
h=h-24;
}
printf("%d:%d:%.1f\n",h,m,s);
}
return 0;
}
帮你改了