题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
C实现:
#define _CRT_NO_SECURE_WARNINGS
#include<stdio.h>
#define N 10
int main() {
float high = 100, sum;
sum = high;
high /= 2;
for (int i = 2; i <= N; i++) {
sum += 2 * high;
high /= 2;
}
printf("第10次落地时共经过%lf米。\n第10次反弹了%lf米。\n", sum, high);
return 0;
}
C运行结果:C++实现:
#define _CRT_NO_SECURE_WARNINGS
#include< iostream >
using namespace std;
#define N 10
int main() {
float high = 100, sum;
sum = high;
high /= 2;
for (int i = 2; i <= N; i++) {
sum += 2 * high;
high /= 2;
}
cout << "第10次落地时共经过" << sum << "米。" << endl;;
cout << "第10次反弹了" << high << "米。" << endl;
return 0;
}
C++运行结果: