重力加速度
Time Limit:1000MS Memory Limit:30000KB
Total Submit:3894 Accepted:1606
Description
从初中物理易知,一个物体从高处落下符合公式s=(g*t^2)/2,其中s为下落距离,g为重力加速度,这里取g=9.8,t为下落的时间。这里我们不考虑所有阻力。
一个同学爬到理科大楼的某一层向外下扔了一个苹果(水平扔出),人的身高为1.75米。你现在需要计算苹果从扔出到落地的时间。
理科大楼有17层,第一和第二层高为5米,其它各层高3米。一个人从第三层扔东西,那么高度应该是第一层加上第二层的高度,再加上人的身高,总共11.75米。
Input
本题有多组测试数据。
每组测试数据占一行,含一个整数n,表示从第几层扔下。(1<=n<=17)
如果n=0,则输入结束。
Output
每组测试数据输出一行。
每行输出一个浮点数,保留3位小数(要四舍五入),表示落到地面所需要的时间。
Sample Input
3
0
Sample Output
1.549
Source
2005计算机系程序设计竞赛 热身赛
#include <stdio.h>
#include <math.h>
#define g 9.8
int main(int argc, char** argv)
{
int n;
while(scanf("%d",&n) != EOF)
{
if(n == 0)
break;
double h;
switch(n)
{
case 1: h = 0;
break;
case 2: h = 5;
break;
case 3: h = 10;
break;
case 4: h = 13;
break;
case 5: h = 16;
break;
case 6: h = 19;
break;
case 7: h = 22;
break;
case 8: h = 25;
break;
case 9: h = 28;
break;
case 10: h = 31;
break;
case 11: h = 34;
break;
case 12: h = 37;
break;
case 13: h = 40;
break;
case 14: h = 43;
break;
case 15: h = 46;
break;
case 16: h = 49;
break;
case 17: h = 52;
break;
}
h += 1.75;
double time;
time = sqrt(2 * h / g);
printf("%.3f\n",time);
}
return 1;
}