為什么我的答案是69.400002,不是69.400000
#include <stdio.h>
#include <stdlib.h>
float ABC(int s,int c)
{
??? float money,sum;
??? if(s>=5&&s<23)
??? {
??????? if(c<=3)
??????? {
??????????? money=13;
??????? }
??????? else
??????? {
??????????? money=13+2.3*(c-3);
??????? }
??? }
??? else
??? {
??????? if(c<=3)
??????? {
??????????? money=13;
??????? }
??????? else
??????? {
??????????? money=13+2.3*(1+0.2)*(c-3);
??????? }
??? }
??? sum=money+1;
??? return sum;
}
int main()
{
??? float P;
??? P=ABC(9,12)+ABC(18,12);
??? printf("需要花費(fèi)%f元",P);
??? return 0;
}
2019-08-14
計(jì)算機(jī)存儲(chǔ)問(wèn)題,float字符型小數(shù)點(diǎn)末尾數(shù)會(huì)存在偏差(隨機(jī)值)