C语言之简单物理学问题实现
程序员文章站
2022-07-09 22:55:47
问题:
一个球从 100 米高的地方*落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第 10 次...
问题:
一个球从 100 米高的地方*落下,每次落地后反跳回原高度的一半,再落下,再反弹。求第10次落地时,共经过多少米,第 10 次反弹多高。
代码实现:
#include <stdio.h> float s_n(float h,const int n,float s)//定义n次共经过多少米函数 { int i=0; while(i<n) { s=s+h; h=h/2; i++; } return s; } float last_h(float h,const int n)//定义第n次反弹多高函数 { int i=0; while(i<n) { h=h/2; i++; } return h; } int main() { float s=0.0; int n=0; float hn=0.0; float h=100.0; printf("请输入第几次:"); scanf("%d",&n); hn=last_h(h,n); s=s_n(h,n,s); printf("hn=%f\n",hn); printf("s=%f\n",s); return 0; }