求解错在哪里,输出不带小数点

来源:5-14 综合练习

慕婉清7960772

2015-09-16 21:26

#include <stdio.h>
int kilo(int k,int t)
{ float  rmb;
    if
    (k<=3&&k>0)
    rmb=13;
    else
    rmb=13+k*2.3;
      
    if(t>=23||t<=5)
    rmb=rmb*1.2+1;
else
    rmb=rmb+1;
    return rmb;
    
}

int main()
{
int k1=12,t1=9,k2=12,t2=18;
printf("上午一共花了%d\n",kilo(k1,t1));
printf("下午一共花了%d\n",kilo(k2,t2));
    return 0;
}

如题,怎么样让输出带小数点


写回答 关注

5回答

  • qq_仰望摩天轮_0
    2015-09-18 11:16:30
    已采纳

    int kilo(int k,int t)                    //把int 类型改为float类型,因为返回值rmb是float类型

    printf("上午一共花了%d\n",kilo(k1,t1));                    //%d改为%f

    printf("下午一共花了%d\n",kilo(k2,t2));                   //%d改为%f


    附加:%.2f 是输出近似的两位小数,同理,可以用%.3f     %.4f     不过是近似的,而且不要超过float的范围



    慕婉清796...

    谢谢,终于搞明白了

    2015-09-18 16:17:26

    共 1 条回复 >

  • Virture
    2015-09-17 23:07:44

    不要%.2f

  • Virture
    2015-09-17 14:57:51

    int rmb

    慕婉清796...

    int和%.2f都不行,输出只是0.00

    2015-09-17 23:04:19

    共 1 条回复 >

  • Virture
    2015-09-17 14:56:46

    %.2f

  • 慕婉清7960772
    2015-09-16 21:37:33

    用%f出错了结果只输出0.00000

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

928335 学习 · 21550 问题

查看课程

相似问题