怎么调成精度型

http://img.mukewang.com/5947b0a7000140a505360364.jpg

不会上传代码。。。就截图了

这份代码我输出的是68,但好像答案是精度型的,我就把第五行改成float,第十八行改成%f。

但是在cfree上输出却是0.00000,为什么会这样,,愿帮我试下的大佬,代码如下


#include <stdio.h>
int Sum(s,t);
int Sum(s,t)
{
    int sum;
    if(s<=3)
    sum=13;
    else
    sum=13+2.3*(s-3);
    if(t<5&&t>=23)
    sum=sum*0.2;
    else
    sum=sum;
    return sum+1;
}
int main()
{
    printf("小明打车总费用为%d\n",Sum(12,9)+Sum(12,18));
    return 0;
}

帅的一匹
浏览 1814回答 1
1回答

Albatron_

代码如下: #include <stdio.h> int Sum(s,t); int Sum(s,t) {     float sum;     if(s<=3)     sum=13;     else     sum=(float)(13+2.3*(s-3));     if(t<5&&t>=23)     sum=(float)(sum*0.2);     else     sum=sum;     return sum+1; } int main() {     printf("小明打车总费用为%f\n",(float)(Sum(12,9)+Sum(12,18)));     return 0; }
打开App,查看更多内容
随时随地看视频慕课网APP