问题及代码:
/*
Copyright(c)2016,烟台大学计算机学院
All rights reserved.
文件名称:tset.cpp
作者:张旺
完成日期:2016年10月22日
版本号:v1.0
题目描述:
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。它在第N次落地时反弹多高?共经过多少米?保留两位小数
输入
M N
输出
它在第N次落地时反弹多高?共经过多少米?保留两位小数,空格隔开,放在一行
样例输入
1000 5
样例输出
31.25 2875.00
*/
#include <stdio.h>
int main( )
{
int i,n;
float m,h,s;
scanf("%f %d",&m, &n);
h=m/2;
s=m;
for (i=2; i<=n; i++)
{
s=s+2*h;
h=h/2;
}
printf("%.2f %.2f\n",h, s);
return 0;
}
运行结果:
知识点总结:
学习心得:
还是学好数学。。。注意用赋值简化计算过程。