本題要求根據某城市普通出租車收費標準撰寫程式進行車費計算。具體標準如下:
起步里程為3公里,起步費10元;
超起步里程后10公里內,每公里2元;
超過10公里以上的部分加收50%的回空補貼費,即每公里3元;
營運程序中,因路阻及乘客要求臨時停車的,按每5分鐘2元計收(不足5分鐘則不收費)。
輸入格式要求:
輸入在一行中給出輸入行駛里程(實數,單位為公里)與等待時間(整數,單位為分鐘),其間以空格分隔。
輸出格式要求:
在一行中輸出乘客應支付的車費(單位為元),結果四舍五入,保留到元。
uj5u.com熱心網友回復:
分段方程列一個方程就可以了
uj5u.com熱心網友回復:
我想寫一個程式呀
uj5u.com熱心網友回復:
if(x>0&&x<=3)y=10;
if(x>3&&x<=10)
y=10+(x-3)*2;
if(x>10)
y=10+14+(x-10)*3;
if(t>=5)
y+=2*(t/5);
注意變數型別整型和實型即可
uj5u.com熱心網友回復:
#include <stdio.h>#include <stdlib.h>
int main()
{
float a,b,s;
int c,t;
scanf("%f%d",&s,&t);
if(s<=3)
a=10;
else if(s>3&&s<=10)
a=2*s+4;
else
a=3*s-6;
if(t<5)
b=0;
else
b=(t%5)*2;
c=(int)(a+b+0.5);
printf("%d",c);
return 0;
}
為什么我這個有問題呀
uj5u.com熱心網友回復:
#include <stdio.h>#include <stdlib.h>
int main()
{
float a,b,s;
int c,t;
scanf("%f%d",&s,&t);
if(s<=3)
a=10;
else if(s>3&&s<=10)
a=2*s+4;
else
a=3*s-6;
if(t<5)
b=0;
else
b=(t%5)*2;
c=(int)(a+b+0.5);
printf("%d",c);
return 0;
}
我這個當t大于5時就算錯了 為什么呀
uj5u.com熱心網友回復:
b=(t%5)*2;改成
b=(t/5)*2;
uj5u.com熱心網友回復:
貌似不太行呀
uj5u.com熱心網友回復:
哪里不行舉個例子
uj5u.com熱心網友回復:
比如我輸入12.5 9 會打出40 但正確答案是34uj5u.com熱心網友回復:
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char** argv){
int pay = 10,length,waittime;
scanf("%d %d",&length,&waittime);
while ((waittime-=5)>=0) pay+=2;
if (length<=3) {
printf("pay:%d\n",pay);
return 0;
}
length -= 3;
if (length<=10){
pay += length * 2;
printf("pay:%d\n",pay);
return 0;
}
pay+=20;
length-=10;
pay += length * 3;
printf("pay:%d\n",pay);
return 0;
}
uj5u.com熱心網友回復:
你把b挪到int 定義就行了uj5u.com熱心網友回復:
#4, "a=2*s+4"這個陳述句的邏輯不符合“超起步里程后10公里內,每公里2元;”的描述。應該是“a=2*(s-3)”.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108734.html
標籤:C語言
上一篇:c++
下一篇:比賽問題演算法解答
