我的程序究竟问题出在哪里?
题目:一个球从100M高处落下,每次落地后反弹原高度一半,再下落,再反弹.求第十次落地时,共经历多少米?第十次反弹多高?
#include <stdio.h>
#include <math.h>
void main()
{
float m,p,q,n,F1(float n);
printf( "反弹高度:\n ");
p=100-F1(10);
printf( "共经过:\n ");
q=100+2*F1(10);
}
float F1(float n)
{
float y=0;
for(n=1;n <=10;n=n+1)
y=pow(0.5,n)*100+y;
return(0);
}
偶想通过定义函数来实现,却不知错在哪里,劳请大虾们指出来,最好给个修改意见.(主要想练习一下这种方法)
[解决办法]
错了不少地方啊
#include <stdio.h>
#include <math.h>
float F1(float n)
{
int i;
float y=0;
for(i=1;i <=10;i=i+1)
y=pow(0.5,i)*100+y;
return y;
}
void main()
{
float m,p,q,n;
p=100-F1(10.0);
printf( "反弹高度:%f\n ",p);
q=100+2*F1(10.0);
printf( "共经过:%f\n ",q);
}