課程
/后端開發(fā)
/C
/C語言入門
為什么結(jié)果是68,而不是69.4?
2015-03-25
源自:C語言入門 5-14
正在回答
你確定你的代碼能正常運行?
在你定義函數(shù)cost()時,就是錯誤的。首先是返回值不對,你的返回值是double類型的,但是你沒有使用返回值修飾符,所以默認的是int型。其次,函數(shù)的參數(shù)列表里面是形參列表,需要給定數(shù)據(jù)類型,你這里只有形參名,沒有形參類型。
#include?<stdio.h> ????int?time; ????int?distance; ????float?price; ????float?cost1; ????float?cost_total; ????float?cost(int?time) ????{ ???? if(time?<=?23?&&?time?>?5) ????price?=?2.3; ???? else? ????price?=?2.3*1.2; cost1?=?13?+?price?*?(distance?-?3)?+?1; ???? printf("%d點的打車費為%f\n",time,cost1); return?cost1; ????} int?main() { ????distance?=?12; ????cost_total?=?cost(9)?+?cost(18); ????printf("小明今天打車的總費用為%f",cost_total); ???? ????return?0; }
針對你的代碼進行了稍微的排版。
#include <stdio.h>
int Charge(int t,int m)
{
? ? float sum; ?//打車費
? ? const float p = 2.3; ?//單價
? ? const float q = 13; //起步價
? ? if(m <= 3) ?//判斷距離m<=3時的2種情況。
? ??
? ? {
? ? ? ? if(5<t || t<23)
? ? ? ? { ? sum =q ;
? ? ? ? ? ? sum ++;
? ? ? ??
? ? ? ? ? ? return ?sum;
? ? ? ? }
? ? ? ? else
? ? ? ? { ? ?sum = q + m*0.2*p;
? ? ? ? ? ? return sum;
? ? ? ? ? ??
? ? }
? ? if(m >3) //判斷距離m>3時的2種情況。
? ? ? ? { ? sum =q + p * (m-3);
? ? ? ? { ? ?sum = q + p * (m-3) + ?p * 0.2 * m;
? ? ? ? } ? ? ??
? ? } ?
? ? ? ?
}
int main()
? ? int x = 9;
? ? int y = 6;
? ? int z = 12;
? ? float am = Charge(x,z);
? ? float pm = Charge(y,z);
? ? float money = am + pm;
? ? printf("小明每天的打車的總費用是:%.2f\n",money);
? ? return 0;
謝謝老王,現(xiàn)在懂了?? 之前的程序運行結(jié)果是:
9點的打車費為34.70000018點的打車費為34.700000小明今天打車的總費用為68.000000
#include?<stdio.h> //?變量定義 int?time; int?distance; float?price; float?cost1; float?cost_total; //?子函數(shù)定義 float?cost(int?time) { ????if(time?<=?23?&&?time?>?5) ????????price?=?2.3; ????else? ????????price?=?2.3*1.2; ????cost1?=?13?+?price?*?(distance?-?3)?+?1; ????printf("%d點的打車費為%f\n",time,cost1); ????return?cost1; } //?主程序 int?main() { ????distance?=?12; ????cost_total?=?cost(9)?+?cost(18); ????printf("小明今天打車的總費用為%f",cost_total); ????? ????return?0; }
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
5 回答為什么結(jié)果是24?不是69.4?哪里錯了
3 回答為什么我輸出的答案是68 整數(shù) 不是69.4呢
1 回答運算結(jié)果應該是69.4,運行結(jié)果為什么是77.7?
2 回答是哪里算法有錯誤嗎?計算出來結(jié)果為68,應該是69.4吧?
2 回答怎么算都是69.4,為什么結(jié)果最后多0.000002
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2015-03-25
你確定你的代碼能正常運行?
在你定義函數(shù)cost()時,就是錯誤的。首先是返回值不對,你的返回值是double類型的,但是你沒有使用返回值修飾符,所以默認的是int型。其次,函數(shù)的參數(shù)列表里面是形參列表,需要給定數(shù)據(jù)類型,你這里只有形參名,沒有形參類型。
針對你的代碼進行了稍微的排版。
2016-05-05
#include <stdio.h>
int Charge(int t,int m)
{
? ? float sum; ?//打車費
? ? const float p = 2.3; ?//單價
? ? const float q = 13; //起步價
? ? if(m <= 3) ?//判斷距離m<=3時的2種情況。
? ??
? ? {
? ? ? ? if(5<t || t<23)
? ??
? ? ? ? { ? sum =q ;
? ? ? ? ? ? sum ++;
? ? ? ??
? ? ? ? ? ? return ?sum;
? ? ? ? }
? ? ? ? else
? ??
? ? ? ? { ? ?sum = q + m*0.2*p;
? ? ? ? ? ? sum ++;
? ? ? ? ? ? return sum;
? ? ? ? ? ??
? ? ? ? }
? ? }
? ? if(m >3) //判斷距離m>3時的2種情況。
? ? {
? ? ? ? if(5<t || t<23)
? ??
? ? ? ? { ? sum =q + p * (m-3);
? ? ? ? ? ? sum ++;
? ? ? ? ? ? return ?sum;
? ? ? ? }
? ? ? ? else
? ??
? ? ? ? { ? ?sum = q + p * (m-3) + ?p * 0.2 * m;
? ? ? ? ? ? sum ++;
? ? ? ? ? ? return sum;
? ? ? ? } ? ? ??
? ? ? ? ? ??
? ? } ?
? ? ? ?
}
int main()
{
? ? int x = 9;
? ? int y = 6;
? ? int z = 12;
? ? float am = Charge(x,z);
? ? float pm = Charge(y,z);
? ? float money = am + pm;
? ? printf("小明每天的打車的總費用是:%.2f\n",money);
? ? return 0;
}
2015-03-25
謝謝老王,現(xiàn)在懂了?? 之前的程序運行結(jié)果是:
9點的打車費為34.700000
18點的打車費為34.700000
小明今天打車的總費用為68.000000
2015-03-25