本题扩展为不固定高度不固定次数(系统输入)
1 #include<stdio.h> 2 #include<stdlib.h> 3 /*题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?*/ 4 int main() { 5 system("color 1F"); // 设定显示框为蓝底白字 6 system("mode con cols=80 lines=30"); //固定显示框尺寸 7 /******************************************程序主体分割线(顶部)*************************/ 8 int i,n; 9 float s,h,hn; 10 while(1) { 11 s=0; 12 printf("\n请输入首次下落时的高度(米):"); 13 scanf("%f",&h); 14 printf("请输入落地次数: "); 15 scanf("%d",&n); 16 for(i=1; i<=n; i++) { 17 hn=h/2; 18 s=s+1.5*h; 19 h=hn; 20 } 21 printf("球第%d次落地时,共经过了【%.4f】米,第%d次反弹【%.4f】米高\n________________________________________________________________________________\n",n,s,n,hn); 22 } 23 /******************************************程序主体分割线(底部)***************************/ 24 return 0; 25 }