求C++程序

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:23:58
甲乙两地相距S公里,有A、B两车同时分别从两地出发并分别以V1、V2公里/小时速度在两地间往返运行(V1 > V2),在T小时内两车将多次相遇(迎面相遇或追上相遇),请按时间顺序给出相遇各点时刻(设出发时刻为0)。
输入:S、V1、V2、T

上面的程序错了.....

其实有规律的``假设第一次相遇时间(S/(v1+v2))为t1(第一次追击时间(S/(v1+v2))为t2),那第二次:3*t,第三次5*t:第四次:7*t..奇数倍.....只要少于给出T的时间就停止loop`化为标准的时间形式输出`那就完成了`
程序如下:
#include <iostream>
using namespace std;
void time(float s,float v1,float v2,float t)
{
float tn,tn2,n=1,n1=1;
float t1=s/(v1+v2); //求出第一次相遇时间;
float t2=s/(v1-v2); //求出第一次追击时间;
cout<<"第"<<n1<<"次相遇:"<<t1<<endl<<"第"<<n1<<"次追击:"<<t2<<endl;
while (tn<=t) {
n+=2; //第二次:3*t,第三次5*t:第四次:7*t...奇数倍;
tn=t1*n;
tn2=t2*n;
n1++;
if (tn>t||tn2>t)break; //防止最后一个数超出范围;
cout<<"第"<<n1<<"次相遇:"<<tn<<endl<<"第"<<n1<<"次追击:"<<tn2<<endl; //这不是时间标准化输出,自己想下怎样化.
}
}
void main()
{
cout<<"先后输入两地距离S(米),速度(米/秒)v1和v