问答详情
源自:5-14 综合练习

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

#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;
}

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


提问者:慕婉清7960772 2015-09-16 21:26

个回答

  • 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的范围



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

    不要%.2f

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

    int rmb

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

    %.2f

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

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