1 剛編寫完的,徒手編寫,沒在編譯器上跑,你跑下試試吧。

從事雅安服務(wù)器托管,服務(wù)器租用,云主機(jī),網(wǎng)絡(luò)空間,域名注冊,CDN,網(wǎng)絡(luò)代維等服務(wù)。
2 我對超8公里的理解是 起步3公里+超過的總共是8公里,如果理解的不對,把第1個函數(shù)第二和第3個語句 if里的8改成11就可以了。
3 我對輸入的公里 和 分鐘都定義成整型了,比如輸入3.2,默認(rèn)為3公里或者3分鐘,因為我印象里出租車跑不夠整公里,就不加錢。如果你那里要求跑3.2公里就收3.2公里的錢的話,把主函數(shù)里對l和d 的定義改下,改double,子函數(shù)也得稍做變化,不過我覺得應(yīng)該不用改,反正真實的出租車就是這么收費的。
4 下面是代碼:
有點長,不過附帶判斷輸入數(shù)據(jù)的功能,比如輸入負(fù)數(shù),字母什么的,都沒關(guān)系,所以長了點
#include stdio.h
int main()
{
int d,l,q;
double q1,q2,Q,x;
printf("請輸入您行駛里程(公里):\n");
for(;;){
scanf("%d",l);
scanf("%*[^\n]");
scanf("%*c");
if(l=0) {printf("您輸入的有誤,請重新輸入您的行駛里程(公里):\n");}
else break;}
printf("請輸入您等待的時間(分鐘):\n");
for(;;){
scanf("%d",d);
scanf("%*[^\n]");
scanf("%*c");
if(d0) {printf("您輸入的有誤,請重新輸入您的等待時間(分鐘):\n");}
else break;}
q1=f1(l);
q2=f2(d);
Q=q1+q2;
q=(int)Q;
x=Q-q;
if(x=0.5) q=q+1;
printf("請您支付 %d(元)車費\n",q);
return 0;
}
double f1(int l)
{
double q;
if(l=3){
return 6.0;}
else if(l=8){
q=(l-3)*1.8+6;
return q;}
else{
q=(l-8)*2.7+5*1.8+6;
return q;}
}
double f2(int d)
{
double q;
int l;
l=d/5;
q=l*1.8;
return q;
}
“每5分鐘按1公里租費”這里的1公里租費你沒有說清,我按照2元每公里算的,程序如下:
#include
"stdio.h"
int
main(int
argc,
char*
argv[])
{
int
length,time,sum;
start:
printf("請輸入行駛里程(公里):");
scanf("%d",length);
printf("請輸入等待時間(分鐘):");
scanf("%d",time);
if(length0||time0)
{
printf("行駛里程和等待時間不能為負(fù)數(shù)!\n");
goto
start;
}
else
if(length=3)
{
sum=10;
}
else
if(length=13)
{
sum=10+(length-3)*2;
}
else
sum=10+10*2+(length-13)*3;
sum=sum+(int)(time*(0.4));
//等待的每分鐘0.4元
printf("乘客應(yīng)支付的車費(元):\t%d\n",sum);
return
0;
}
本題要求根據(jù)某城市普通出租車收費標(biāo)準(zhǔn)編寫程序進(jìn)行車費計算。具體標(biāo)準(zhǔn)如下:
起步里程為3公里,起步費10元;
超起步里程后10公里內(nèi),每公里2元;
超過10公里以上的部分加收50%的回空補(bǔ)貼費,即每公里3元;
營運過程中,因路阻及乘客要求臨時停車的,按每5分鐘2元計收(不足5分鐘則不收費 )。
輸入格式:
輸入在一行中給出輸入行駛里程(單位為公里,精確到小數(shù)點后1位)與等待時間(整數(shù),單位為分鐘),其間以空格分隔。
輸出格式:
在一行中輸出乘客應(yīng)支付的車費(單位為元),結(jié)果四舍五入,保留到元。
輸入樣例1:
2.6 2
輸出樣例1:
10
輸入樣例2:
5.1 4
輸出樣例2:
14
輸入樣例3:
12.5 9
輸出樣例3:
34
代碼:
#include?stdio.h
#include?math.h
int?main(void)?
{
double?s,t,p1,p2;
int?p;
scanf("%lf%lf",?s,t);
if?(s=3)?
{p1=10;}?
else?if(s3??s=10)?{p1=10+2*(s-3);}
else?p1=24+3*(s-10);
if?(t5)?{p2=0;}
else?p2=0.4*t;?
p=(int)(p1+p2+0.5);
printf("%d\n",p);
return?0;
}
#include stdio.h
#include stdlib.h
#include math.h
int main(void)
{
float A,y;
int x;
printf("請輸入行車?yán)锍?\n");
scanf("%f",A);
x = (int)A+1;
if(x3) printf("應(yīng)付車款 10 元.");
if(3=x x8) y=10+1.6*(x-3);
printf("應(yīng)付車款 %.2f 元",y);
if(8 = x) y=10+2.2*(x-3);
printf("應(yīng)付車款 %.2f 元",y);
return 0;
}
幫你編譯過了,你看下
#includestdio.h//我是按超出2.5公里后每公里一元計算的。
main()
{
int time;
double value,a;
printf("請輸入乘坐出租車的時間和行走公里數(shù)(注:時間為整數(shù)。):");
scanf("%d%lf",time,a);
while(time=0||a=0)
{
printf("輸入錯誤,請重新輸入:");
scanf("%d%d",time,a);
}
if(time=3)
value=5;
if(time3time%3==0)
value=5+(time-3)/3*2;
if(time3time%3!=0)
value=5+(time-3)/3*2+2;
if(a=2.5);
else
value=(a-2.5)*1+value;
printf("應(yīng)收金額為%.2lf\n",value);
}
當(dāng)前標(biāo)題:計程車c語言用函數(shù) c語言計程車車費問題
標(biāo)題網(wǎng)址:http://chinadenli.net/article38/hiphsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、定制網(wǎng)站、微信公眾號、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)