C语言中逗号“,”也是一种运算符,称为逗号运算符。
其功能是把两个表达式连接起来组成一个表达式,
称为逗号表达式。
其一般形式为:
表达式1,表达式2
其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。
scanf("%d%d",&m,&n),
m<0
||
n<0
这个就是一个逗号表达式
题目是:某城市普通出租车收费标准如下:起步里程小于等于3公里,起步费10元;超起步里程后小于等于10公里的,每公里租费2元;超过10公里以上的部分加收50%的回空补贴费,即每公里租费3元。营运过程中,因路阻及乘客要求临时停车的,每5分钟按1公里租费(租费两元)计收,不足5分钟的按5分钟计,保留到元,计算并输出乘客应支付的车费(元)。
#include
int
main()
{
int
x,z;
double
y;
scanf("%d%d",&x,&z);
if(x<100&&z<100)
{
if(x<=3)
y=10;
else
if(x<=10)
y=10+2*(x-3);
else
if(x<=100)
y=24+3*(x-10);
if(z%5!=0&&z<=100)
y=y+(z/5+1)*2;
if(z%5==0&&z<=100)
y=y+2*z/5;
printf("%.0f\n",y);
}
return
0;
}
错在哪里?请给出正确答案
安你的思路,x应是里程,z应是停车时间那第x<100和z<100是什么意思呀。
怕一开始就错了呢。
超过10公里以上的部分加收50%的回空补贴费
要计算两个不难,路费和临时停车租费分开计算相加就可。。
sum=0
....
if(x<=3)sum=sum+10;
if(x>3
&&
x<=10)
sum=sum+
2*(x-3)
if(x>10)sum=sum+
2*(7)+3*(x-10)
//这里的2*7是10公里的时候的车钱
//临时停车没有限制。所以算法简单。自己理下就行。理解了7哪来问题就没了。。程序没什么难度
....