「已注销」 2021-07-19 01:03 采纳率: 80%
浏览 32
已结题

关于#c语言#的问题,这两个有什么不同吗


#include<stdio.h>

int main(){
    int min,cost;
    float path;
    scanf("%f %d",&path,&min);
    if(path<=3)
        cost=10+min/5*2;
    else if(path<=10)
        cost=10+2*(path-3)+min/5*2;
    else
        cost=24+3*(path-10)+min/5*2;
    printf("%d",cost);
    
    return 0;
}
#include<stdio.h>

int main(){
    int min;
    float path,cost;
    scanf("%f %d",&path,&min);
    if(path<=3)
        cost=10+min/5*2;
    else if(path<=10)
        cost=10+2*(path-3)+min/5*2;
    else
        cost=24+3*(path-10)+min/5*2;
    printf("%0.f",cost);
    
    return 0;
}

  • 写回答

3条回答 默认 最新

  • 死鱼死鱼咸 2021-07-19 08:34
    关注

    上面那个cost变量取int型,下面的cost取浮点型,也就是说最后上面那个算出来的值只能是整数,下面那个指可以是小数。主要就是精度的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 修改了问题 7月19日
  • 创建了问题 7月19日