26-语言入门-26-兄弟郊游问题
描述
兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发。以每分钟Y米的速度去追弟弟,而狗则以每分钟Z米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?
输入
第一行输入一个整数N,表示测试数据的组数(N<100)
每组测试数据占一行,是四个正整数,分别为M,X,Y,Z(数据保证X<Y<Z)
输出
输出狗跑的路径,结果保留小数点后两位。
样例输入
1
5 10 15 20
样例输出
兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发。以每分钟Y米的速度去追弟弟,而狗则以每分钟Z米的速度向弟弟跑去,追上弟弟后又立即返回,直到哥哥追上弟弟时,狗跑了多少米?
输入
第一行输入一个整数N,表示测试数据的组数(N<100)
每组测试数据占一行,是四个正整数,分别为M,X,Y,Z(数据保证X<Y<Z)
输出
输出狗跑的路径,结果保留小数点后两位。
样例输入
1
5 10 15 20
样例输出
200.00
代码:
#include <stdio.h>
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while (readLen > 0)
{
int m,x,y,z;
scanf("%d %d %d %d",&m,&x,&y,&z);
getchar();
float result = m*x*1.0f/(y-x)*z;
printf("%.2f\n",result);
--readLen;
}
return 0;
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while (readLen > 0)
{
int m,x,y,z;
scanf("%d %d %d %d",&m,&x,&y,&z);
getchar();
float result = m*x*1.0f/(y-x)*z;
printf("%.2f\n",result);
--readLen;
}
return 0;
}
本题通过数学公式先求得哥哥追上弟弟的时间,然后乘以狗的速度,即可求得狗跑了多少米。
问题不复杂,但是没搞清楚数学究竟在编程中起到的作用在哪里呢?