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

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

}

}


萝卜_东
浏览 1375回答 2
2回答

慕仰8052746

我测试的结果是可以的,只要在输入的数据间加上逗号,输出的结果是对的。不过你的编程习惯还有待改善,程序写的有点乱。我重新写了一个程序,你可以看看#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;}

慕仰8052746

#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好了。
打开App,查看更多内容
随时随地看视频慕课网APP