题解 | #牛牛的快递#
牛牛的快递
https://www.nowcoder.com/practice/41b42e7b3c3547e3acf8e90c41d98270
#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,但是这样必须按格式来输入,用空格或者回车来代替他们。
检查小数点后是否有数的方法有很多,两次强制类型转换只是其中一种