【C语言】之''反弹''

老师平时布置的希冀系统上的作业答案,仅供参考!

【问题描述】

已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写一程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时共经过的路程以及第m次落地后反弹的高度,并输出结果。

【输入形式】

从键盘输入整数n和m,以空格隔开。

【输出形式】

输出两行:
第一行输出总路程,保留小数点后两位;
第二行输出第m次落地后反弹的高度,保留小数点后两位。

【输入样例】

40 3

【输出样例】

65.00
0.63

【参考答案】

#include<stdio.h>

int main()

{

float n,m,sum1,high1;//n为初始高度,m为第m次落下次数,sum1第一次路程,high1第一次反弹
float high = 0;//high为第m次反弹高度
float sum = 0;//sum为第m次落地总路程
int i=2;
scanf("%f %f",&n,&m);//如输入40 3注意中间加空格
sum1 = n;
high1 = n/4;
sum = sum1;
high = high1;
while(i++<=m)
{
sum = sum + 2*high;
high = high/4;
}

if(m==1)
{
printf("%.2f\n",sum1);
printf("%.2f\n",high1);
}
else
{
printf("%.2f\n",sum);
printf("%.2f\n",high);
}
return 0;
}
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容