6-7 行舟问题(指针方法)

一艘船往来于 d 公里的河道中,顺水航行需要 t1​ 小时,逆水航行需要 t2​ 小时,求船在静水中的航行速度 v1​(公里/小时) 和水流速度 v2​(公里/小时)。

函数原型
 
  

void Shipping(double *velocityBoat, double *velocityFlow, double distance, double timeForward, double timeBackward);

说明:velocityBoat 和 velocityFlow 分别为指示船只航行速度(km/h)和水流速度(km/h)的指针,distance 为航行距离(km),timeForward 和 timeBackward 分别为顺水航行和逆水航行的时间(h)。

裁判程序
 
  

#include void Shipping(double *velocityBoat, double *velocityFlow, double distance, double timeForward, double timeBackward); int main() { double t1, t2, d, v1, v2; scanf("%lg%lg%lg", &d, &t1, &t2); Shipping(&v1, &v2, d, t1, t2); printf("%.2f %.2f\n", v1, v2); return 0; } /* 你提交的代码将被嵌在这里 */

输入格式

航行距离(km)、顺水航行时间(h)、逆水航行时间(h)

输出格式

船行速度(km/h)、水流速度(km/h)

输入样例
48.5 3.1042 4.3125

输出样例
13.44 2.19

 

void Shipping(double *velocityBoat, double *velocityFlow,
              double distance, double timeForward, double timeBackward){
    double v3,v4,v2;
    v3=distance/timeForward;
    v4=distance/timeBackward;
    v2=(v3-v4)/2;
    *velocityBoat=v3-v2;
    *velocityFlow=*velocityBoat-v4;
              }

你可能感兴趣的:(算法)