fmod()函數和modf()函數


最近從博客上看到了一個fmod函數,結果又蹦出來一個modf函數 

 

fmod()函數:

頭文件:#include<math.h>

C庫函數。。。

fmod()用來對浮點數進行取模(求余),原型為:float fmod(float x)。

設x=k*n+h,則返回值為h(h和x的符號相同)。

fmod()與求模運算符%的比較:

1).%只用於整型的計算,后一個數不能為0;

    fmod()可以對浮點型數據進行取模運算,后一個數可以為0,返回NaN(NaN,是Not a Number的縮寫,用於處理計算中出現的錯誤情況,比如 0.0 除以 0.0 或者求負數的平方根)。

2).%是運算符,fmod()是函數

double fmod(double x,double y)

返回x除以y的余數。

x是分子的浮點值,y是分母的浮點值。

示例代碼:

#include<stdio.h>
#include<math.h>
int main(){
    double x,y,ans;
    while(~scanf("%lf%lf",&x,&y)){
        ans=fmod(x,y);
        printf("%lf\n",ans);
    }
    return 0;
}

 

9.2 2
1.200000
12.4 4
0.400000
12.4 -4
0.400000
-12.4 4
-0.400000

。。。

就這樣吧

 

modf()函數:

C庫函數。。。

modf()是分解x,以得到x的整數和小數部分。

double modf(double x,double *integer)

返回x的小數部分,符號與x相同。

x是浮點值,integer是指向一個對象的指針。

示例代碼:

#include<stdio.h>
#include<math.h>
int main(){
    double x,fraction,integer;
    while(~scanf("%lf",&x)){
        fraction=modf(x,&integer);
    printf("整數部分=%lf\n",integer);
    printf("小數部分=%lf\n",fraction);
    }
    return 0;
}

 

9.3456
整數部分=9.000000
小數部分=0.345600
2.3476
整數部分=2.000000
小數部分=0.347600
4.545337
整數部分=4.000000
小數部分=0.545337

就這樣吧。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM