CSU2020期中測驗題(2)WOWO爬水井
本道題的演算法并不難,但要注意理解題目的意思:
PIPI養了一只蝸牛WOWO,有一天WOWO掉到水井中去了,該井深H米,早上爬U米,晚上下滑D米,且它從第二天開始每天疲勞,每天都會比第一天少 F %,(注: 蝸牛每天早上爬的速度不會小于 0)
如果WOWO在第N天還能爬出井底回到PIPI身邊,即越過井口,則輸出"success on day N"
如果WOWO在第N天落入了井底以下(井底本來有水,WOWO最初始的狀況是浮在水面上,所以WOWO如果爬不上去最侄訓沉入水中),再也不能回到PIPI身邊了,則輸出"failure on day N"
博主這個菜鳥的代碼如下:
#include <stdio.h>
int main()
{
long h,u,d,f,g;
while(1)
{
scanf("%ld%ld%ld%ld",&h,&u,&d,&f);
if(h==0&&u==0&&d==0&&f==0) break;
int i=1;
f=u*f;//計算每天疲勞所導致的減少上爬的距離
h=h*100;//乘以一百以避免浮點數的運算
g=h;//記錄初始值
u=u*100;
d=d*100;
while(1)
{
h=h-u;//早上爬u米
if(h<0)//成功爬上水井
{
printf("success on day %d\n",i);
break;
}
u=u-f;
if(u<=0)//防止上爬距離變成負數
{
u=0;
}
h=h+d;//晚上下滑距離
if(h>g)//在一天末進行是否失敗的判斷
{
printf("failure on day %d\n",i);
break;
}
i=i+1;//天數加1
}
}
return 0;//養成好習慣,從我做起,
}
本題解僅供參考,請不要直接復制粘貼!感謝您的觀看!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/233060.html
標籤:其他
上一篇:Unity中的小技巧
