题解 | #牛牛的快递#

牛牛的快递

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,但是这样必须按格式来输入,用空格或者回车来代替他们。

检查小数点后是否有数的方法有很多,两次强制类型转换只是其中一种

全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务