#include <stdio.h> #define bas 20.0 #include<math.h> int main() { float a; char b; scanf("%f %c",&a,&b); float jj,res; if(b=='y') jj=5.0; else jj=0.0; if(a<=1) res=bas+jj; else{ if(fmod(a,1)==0.0) res=bas+(a-1)*1+jj; else res=bas+(a-fmod(a,1)-1+1)+jj; //a-fmod(a.1)可以将小数部分除去 } printf("%.0f",res); return 0; }
本题的难点在于对小数部分的处理;由于该题是遇到小数就直接进一,我们只需要先判断是否有小数部分然后直接在原数上加一即可。