为了账号安全,请及时绑定邮箱和手机立即绑定

为什么无论输入多少,我的结果总是显示14??

为什么无论输入多少,我的结果总是显示14??

C
萝卜_东 2015-12-01 21:33:11
#include <stdio.h>float price(int t,int l)//定义时间和路程{ float sum; if(t<=23&&t>5) { sum=14+2.3*(l-3); printf("sum=%f",sum); } else { sum=14+2.3*(l-3)*1.2; printf("sum=%f",sum); }}int main(){ int t,l; scanf("%d,%d",&t,&l); if(l<=3) { printf("sum=14"); } else { price(t,l); }}
查看完整描述

2 回答

?
慕仰8052746

TA贡献2条经验 获得超0个赞

我测试的结果是可以的,只要在输入的数据间加上逗号,输出的结果是对的。不过你的编程习惯还有待改善,程序写的有点乱。

我重新写了一个程序,你可以看看

#include"stdio.h"

double price(int t,int l)

{

    if(t<=23&&t>5)

        return 14+2.3*(l-3);

    else

        return 14+2.3*(l-3)*1.2;

}

int main()

{

    int t,l;

    while(scanf("%d%d",&t,&l)!=EOF)

    {

        double sum;

        if(l<=3) sum=14;

        else sum=price(t,l);

        printf("sum=%lf\n",sum);

    }

    return 0;

}


查看完整回答
反对 回复 2015-12-05
?
慕仰8052746

TA贡献2条经验 获得超0个赞

#include <stdio.h>

void price(int t,int l)//定义时间和路程

{

float sum;

if(t<=23&&t>5)

{

sum=14+2.3*(l-3);

printf("sum=%f",sum);

}

else

{

sum=14+2.3*(l-3)*1.2;

printf("sum=%f",sum);

}

}

int main()

{

int t,l;

scanf("%d%d",&t,&l);

if(l<=3)

{

printf("sum=14");

}

else

{

price(t,l);

}

return 0;

}

把你的代码稍微做了修改,scanf("%d%d",&t,&l);中间的逗号去掉,否则输入的数据间必须加上逗号,不然就会产生错误。其余的没什么大问题,还有price()函数既然没有返回值,就用void好了。

查看完整回答
反对 回复 2015-12-01
  • 2 回答
  • 0 关注
  • 1374 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信