求一个C语言程序设计

来源:百度知道 编辑:UC知道 时间:2024/05/19 16:46:07
一个球从100米落下,每次落地后返回元高度的一半再落下
求它在第10次落地时,共经过多少米?第10次反弹的高度有多高?
用for循环来做
#include <stdio.h>
void main()
{
int count;
float hight; //保存落下的高度值
float sum=100;//sum就是一开始落下的那100米
float fh; //保存弹回的高度值
for(count=2,hight=100;count<=10;count++)
{
fh=hight/2;
sum = sum+fh*2;
hight=fh;
}
printf("%5.2f\n%5.2f",fh,sum);
不知道对不?
这个是我老师的答案,我总觉得不对
#include <stdio.h>
void main()
{
float hight;
float fh;
float sum = 0;
int count;
for( count=2,hight=100; count<=10; count++)
{
fh = hight/2;
sum = sum+hight+fh*2;
hight = fh;
}
printf("共经过%5.2f米",sum);
printf("第10次反弹的高度是%5.2f米\n",fh);

}
可是循环到count=3的时候,sum就等于200+50+25*2=300了
可是实际上球总共只运行了250米啊
快点啊,大哥,我总是转不过这个弯来。。。快要疯了TOT

谢谢了,虽然我还是有点糊涂。。嘿嘿,
你说总路线

嗨 一粗心就给自己制造笑话了 呵呵

你得程序是正确的
但是球的总路线长度不是250
球走的路线是 100到地上 50到空中 在50到地上 25到空中 在25到地上 12.5到空中 在12.5到地上 这就比250多了 。。。。。。。。。。。。

|
|
|
|
|
| | |
↓↑↓
| | |
| | | ↑↓
| | | | |