下面的代碼當x=5.1 當y=408時用fmod函數計算的余數n應該為0呀,可實際上不為零請問是咋回事
#include<stdio.h>
#include<math.h>
int main()
{int a,b,m,y;
float x,n;
x=1+(80.1-76)/(76-75);
for(y=380;y<=450;y++)
if((n=fmod(y,x))==0) {m=y;break;}
for(a=0;a<=m;a++)
{b=m-a;
if(75*a+80.1*b==(a+b)*76) printf("男生:%d,女生:%d\n",a,b); }
}
判斷實數是否為0一般不能用 f==0判斷,因為實數在內存存儲有誤差。
所以一般這樣判斷是否為0:
if( fabs(f)<0.0001)