请教高手这个C程序的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 05:58:16
题目是:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#include "math.h"
#include "stdio.h"
#define HIGH 100
main()
{
float sum=100,j;
int i,a=pow(2,i);
for (i=1;i<=10;i++)
{
j=2*HIGH/a;
sum=sum+j;
}
printf("sum=%f\n",sum);
printf("%f",j/2);
getch();
}
这个C源程序运行结果是错的.
有个错误:for (i=1;i<=10;i++)
改为:for (ii=1;i<10;i++)

第一次落地的100米你已经放在sum的初值里了,所以只要从第二次加到第十次就行了。

#include "math.h"
#include "stdio.h"
#define HIGH 100
main()
{
float sum=100,j=2*HIGH;
int i;
for (i=2;i<=10;i++)
{
j=j/2;
sum=sum+j;
}
printf("sum=%f\n",sum);
printf("%f",j/2);
getch();
}