不明白s=20的初值是幹什麽用的,為什麽雙s=20,f=0,k = m;定義變量寫在大循環裏,定義放在最上面。只需在循環中賦值。否則,您將不得不在每個大循環中重復定義變量。
以下是我根據妳的寫法改的代碼。
# include & ltstdio.h & gt
# include & ltmath.h & gt
int?主要(無效)
{
int?n,k;//?n規定的跌落次數?k計數
雙倍?m,s;//?m墜落的初始高度是多少?s?墜落總高度
While(printf("請輸入初始下落高度(整數)和?要計算的跌倒次數:“)?& amp& amp?scanf("%lf%d ",& ampm & amp;n)!=EOF)
{
k = 0;s = 0;
而(n!=k)
{
s = s+m;
k++;
m = m/2;
}
Printf("從%.0f米的高度落下,落地第%d次,* *越過%.8lf米的高度,彈跳第%d次\ n \ n \ n \ n ",m * pow (2,n),n,s,n,m。
}
回歸?0;
}