亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

有大佬知道,代碼里為什么 13+9*2.3+1=34?不是34.7

#include <stdio.h>

int times(int s)

{

? ? if(s>5&&s<=23)

? ? ? ? {

? ? ? ? ? ? return 1;

? ? ? ? }else

? ? ? ? {

? ? ? ? ? ?return 2;

? ? ? ? }

}

int width(int l)

{

? ? if(l<=3)

? ? {

? ? ? ? return 1;

? ? }

? ? else

? ? {

? ? ? ? return 2;

? ? }

}

int price(int jl,int sj)

{

? ? char fees;

? ? int t=times(sj);

? ? int w=width(jl);

? ? if(t==1 && w==1)

? ? {

? ? ? ? fees=13+1;

? ? }

? ? if(t==1 && w==2);

? ? {

? ? ? ? fees=13+(jl-3)*2.3+1;//為什么這里的結果等與34而不是34.7

? ? }

? ? if(t==2 && w==1)

? ? {

? ? ? ? fees=13+1;

? ? }

? ? if(t==2 && w==2)

? ? {

? ? ? ? fees=13+(jl-3)*2.3*1.2+1;

? ? }

}


int main()

{

? ?float a=price(6,12);

? ?float b=price(18,12);

? ?float sum=a+b;

? ?printf("小明每天的打車費用%0.2f元",sum);


}


正在回答

3 回答

int是定義整形字符的當然會幫你把小數點抹了啊,要用double或者float

0 回復 有任何疑惑可以回復我~

你太蠢了

0 回復 有任何疑惑可以回復我~
#1

weixin_慕碼人3530614

笑死我了哈哈哈哈哈
2022-10-20 回復 有任何疑惑可以回復我~

用了int,所以結果是小數時只去整數部分

如int x;

x=1.7;

printf("%d",x);

輸出的x為1

0 回復 有任何疑惑可以回復我~
#1

weixin_慕俠2325489

去改取
2022-09-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

有大佬知道,代碼里為什么 13+9*2.3+1=34?不是34.7

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號