#include <stdio.h>
int main() {
float a;
char b;
int mo = 0;
scanf("%f", &a);
getchar();
b = getchar();
if (a <= 1.0)
{
mo = 20;
}
else if(a>(float)((int)a))//检查小数点后是否有数字
{
mo = 20 + (int)a;
}
else {
{
mo = 20 + (int)a-1;
}
}
if (b == 'y')
mo += 5;
printf("%d", mo);
return 0;
}
输入不可以%f%c同时进行,否则会读出第二个数据永远为空格而不是需要的
还有一种解决方式是%f %c,但是这样必须按格式来输入,用空格或者回车来代替他们。
检查小数点后是否有数的方法有很多,两次强制类型转换只是其中一种

京公网安备 11010502036488号