zoukankan      html  css  js  c++  java
  • 数学库math.h中常用函数实例

    1.绝对值

    函数原型:int abs(int x);

      功能:求整数x的绝对值。

      参数:

        x:想要求其绝对值的原整数

      返回值:

        所传入整数的绝对值。

     1 /*************************************************************************
     2     > File Name: abs.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 10:54:07 AM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     int n;
    13     while (scanf("%d", &n) != EOF) {
    14         printf("The absolute is %d: %d
    ", n, abs(n));
    15     }
    16 }

    函数原型:double fabs(double x);

      功能:求浮点数x的绝对值。

      参数:

        x:想要求其绝对值的原浮点数

      返回值:

        所传入浮点数的绝对值。

     1 /*************************************************************************
     2     > File Name: fabs.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 11:01:59 AM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     double d;
    13     while (scanf("%lf", &d) != EOF) {
    14         printf("The absolute of %.3lf is %.3lf
    ", d, fabs(d));
    15     }
    16     return 0;
    17 }

    2.取整和取余

    函数原型:double ceil(double num) 

      功能:得到不小于num的最小整数

      参数:

        num:双精度num

      返回值:不小于num的最小整数

     1 /*************************************************************************
     2     > File Name: ceil.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 01:43:53 PM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     double num;
    13     while (scanf("%lf", &num) != EOF) {
    14         printf("%.3f
    ", ceil(num));
    15     }
    16     return 0;
    17 }

    函数原型:double floor(double x);

      功能:求不大于x的最大整数

      参数:

        x:双精度浮点数

      返回值

        不大于x的整数的双精度实数

    /*************************************************************************
        > File Name: floor.c
        > Author: yudongqun
        > Mail: qq2841015@163.com
        > Created Time: Fri 16 Oct 2020 01:54:18 PM CST
     ************************************************************************/
    
    #include <stdio.h>
    #include <math.h>
    
    int main(void) {
        double num;
        while (scanf("%lf", &num) != EOF) {
            printf("%.3lf
    ", floor(num));
        }
        return 0;
    }

    3.指数与对数

    函数原型:double sqrt(double x) 

      功能:计算x的开平方

      参数:

        x:要开方的双精度数值(x>=0)

      返回值:x开放后的运算结果

     1 /*************************************************************************
     2     > File Name: sqrt.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 02:05:28 PM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     double num;
    13     while (scanf("%lf", &num) != EOF) {
    14         printf("%.3lf
    ", sqrt(num));
    15     }
    16     return 0;
    17 }

    函数原型:double pow(double x, double y);

      功能:计算以x为底的y次幂,即xy

      参数:

        x:底数

        y:幂数

      返回值:x的值

     1 /*************************************************************************
     2     > File Name: pow.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 02:02:41 PM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     double x, y;
    13     while (scanf("%lf %lf", &x, &y) != EOF) {
    14         printf("%.3lf
    ", pow(x, y));
    15     }
    16     return 0;
    17 }

    前面我们有sqrt来求开方值,但是我们如要求某个数的开立方值呢?其实我们可以用pow函数来实现,即3√X = X1/3 ,pow(x, 1.0/3);就可以实现开立方了。

     1 /*************************************************************************
     2     > File Name: pow1.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 02:25:02 PM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     double x, y;
    13     int z;
    14     while (scanf("%lf %lf %d", &x, &y, &z) != EOF) {
    15         printf("pow(%.3lf, %.3lf/%d): %.3lf
    ", x, y, z, pow(x, y/z));
    16     }
    17     return 0;
    18 }

    函数原型:doule log(double x)

      功能:求x以e为底的对数值

      参数:

        x:某个实数

      返回值:返回logex的结果

     1 /*************************************************************************
     2     > File Name: log.c
     3     > Author: yudongqun
     4     > Mail: qq2841015@163.com
     5     > Created Time: Fri 16 Oct 2020 02:41:45 PM CST
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #include <math.h>
    10 
    11 int main(void) {
    12     double x;
    13     while (scanf("%lf", &x) != EOF) {
    14        printf("log(%.3lf): %.3lf", x, log(x));
    15     }
    16     return 0;
    17 }

    函数原型:doule log10(double x)

      功能:求x以e为底的对数值

      参数:

        x:某个实数

      返回值:返回log10x的结果

    /*************************************************************************
        > File Name: log10.c
        > Author: yudongqun
        > Mail: qq2841015@163.com
        > Created Time: Fri 16 Oct 2020 02:46:45 PM CST
     ************************************************************************/
    
    #include <stdio.h>
    #include <math.h>
    
    int main(void) {
        double num;
        while (scanf("%lf", &num) != EOF) {
            printf("log10(%.3lf): %.3lf
    ", num, log10(num));
        }
        return 0;
    }
  • 相关阅读:
    8-21模拟赛解题报告
    8-20模拟赛解题报告
    8-19模拟赛解题报告
    8-18模拟赛解题报告
    8-27复习(写题)报告
    [省赛训练(DP)]Course Selection System
    Trie(字典树)的基本操作与应用(一般与字符串前缀相关)
    [算法学习]欧拉筛
    构造函数运行的机制
    js基本数据类型之间的转换
  • 原文地址:https://www.cnblogs.com/ydqblogs/p/13826326.html
Copyright © 2011-2022 走看看