例57:一個球從100m高度自由落下,每次落地後反跳回原高度的一半,再落下,再反彈。C語言編程求它在第10次落地時,共經過多少米,第10次反彈多高。
解析:讀者看着道題的時候應該很容易看懂,做這樣的題首先要觀察一下有什麼規律,這種類型的題都是有規律的,先觀察出來規律,然後思考怎麼寫代碼。讀者需要注意定義變量的時候要定義浮點型的,不要定義整型。
源代碼演示:
#include<stdio.h>//頭文件
int main()//主函數
{
double height,bounce_Height;//定義雙精度浮點型變量
height=100;//賦初值
bounce_Height=height/2;//賦初值
int n;//定義整型變量
for(n=2;n<=10;n++)
{
height=height+2*bounce_Height;//第n次落地時共經過的米數
bounce_Height=bounce_Height/2;//第n次反跳高度
}
printf("第10次落地時共經過%f米\n",height);
printf("第10次反彈%f米\n",bounce_Height);
return 0;
}
編譯運行結果如下:
第10次落地時共經過299.609375米
第10次反彈0.097656米
--------------------------------
Process exited after 0.106 seconds with return value 0
請按任意鍵繼續. . .
更多案例可以go公衆號:C語言入門到精通