C语言从头学60——学习头文件math.h(三)

news/2024/9/19 2:10:38 标签: c语言

十二、函数 modf()
       功能:函数 modf 把一个double数分解成整数部分和小数部分。
       使用格式:modf (参1,参2);
           参1:待分解的数
           参2:指向double类型的指针,用于存放整数部分
       返回值:返回小数部分,也是double类型
十三、函数scalbn()
       功能:用来计算“x * a^n”,a是宏 FLT_RADIX(一般等于2)。
       使用格式:scalbn(参1,参2);
           参1:double类型的x
           参2:int型的n
       返回值:返回double类型的计算结果
十四、函数round()
       功能:将一个浮点数按照四舍五入原则圆整成整数。
       使用格式:round(参1);
           参1:double类型浮点数
       返回值:返回圆整后的整数,但类型仍是double
十五、函数trunc()
       功能:截去浮点数的小数部分,将剩下的整数部分返回。
       使用格式:trunc(参1);
           参1:double类型的浮点数
       返回值:返回剩余的整数(类型仍为double)
       说明:不管参数是正数、负数,还是小数无限接近于1,小数部分一律舍去。
十六、函数ceil()
       功能:返回不小于其参数的最小整数。
       使用格式:ceil(参1);
          参1:double类型的数
       返回值:返回值虽是整数,但仍是double类型。
       说明:
        a.对于正数不管小数部分多小,都是“见小数就进一”。
        b.对于负数既不加一也不减一,只是把小数部分去除即实现其功能。
        c.小数部分为零的数原样返回。
十七、floor()
       功能:返回不大于参数的最大整数。
       使用格式:floor(参1);
          参1:double类型的数值
       返回值:返回一个整数,类型仍是double。
       说明:
        a.对于正数相当于截去小数部分(与trunc同);
        b.对于负数相当于给整数部分绝对值加1;
        c.小数部分为0的数原样返回。
十八、函数fmod()
       功能:返回两个数相除的余数,与运算符“%”相比,这个函数可用于浮点数取余。
       使用格式:fmod(参1,参2);
         参1:被除数,double类型
         参2:除数,double类型
        返回值:返回(参1/参2)的余数
十九、函数pow()
       使用格式:pow(参1,参2);
           参1:double类型参数
           参2:double类型参数
       返回值:返回double类型的参1的参2次方
二十、函数sqrt()
      功能:为一个数开平方根。
      使用格式:sqrt(参1);
         参1:double类型数值,需大于等于0
      返回值:返回double类型的平方根
二十一、函数cbrt()
      功能:计算一个数的立方根。
      使用格式:cbrt(参1);
         参1:double类型的值
       返回值:返回double类型的立方根
二十二、函数fabs()
      功能:为一个数取绝对值
      使用格式:fabs(参1);
        参1:double类型数
      返回值:返回参数的绝对值,类型仍是double

应用举例:

#include<stdio.h>
#include<math.h>
#include<float.h> // 宏FLT_RADIX在其中定义
int main(void)
{
//实验函数modf()
    double x;
    double y = modf(123.456,&x);
    printf("123.456的整数:%f 小数:%f\n", x, y);//运行结果:123.456的整数:123.000000 小数:0.456000
//实验函数scalbn()
    x = 10.234;
    int n = 5;
    y = scalbn(x,n); //计算10.234*2^5
    printf("FLT_RADIX的值:%d\n", FLT_RADIX);//运行结果:FLT_RADIX的值:2
    printf("10.234*2^5=%f\n",y);//运行结果:10.234*2^5=327.488000
//实验函数round()
    x = 132.4567;
    y = round(x*100)/100; //四舍五入保留两位小数
    printf("132.4567保留两位小数:%.2f\n", y);//运行结果:132.4567保留两位小数:132.46
//实验函数trunc()
    x = 70.143;
    if (x == trunc(x))
    {
        printf("x没有小数\n");
    }
    else
    {
        printf("x带有小数\n");//运行结果:x带有小数
    }
//实验函数ceil()
    printf("ceil(100.000001)=%f\n", ceil(100.000001));//运行结果:ceil(100.000001)=101.000000
    printf("ceil(80.0)=%f\n", ceil(80.0)); //运行结果:ceil(80.0) = 80.000000
    printf("ceil(-25.2)=%f\n", ceil(-25.2));//运行结果:ceil(-25.2) = -25.000000
//实验函数floor()
    printf("floor(100.000001)=%f\n", floor(100.000001));//运行结果:floor(100.000001)=100.000000
    printf("floor(80.0)=%f\n", floor(80.0)); //运行结果:floor(80.0)=80.000000
    printf("floor(-25.2)=%f\n", floor(-25.2));//运行结果:floor(-25.2)=-26.000000
//实验fmod()
    x = fmod(3.4,1.1);
    printf("3.4/1.1的余数=%f\n", x);//运行结果:3.4/1.1的余数=0.100000
//实验函数pow()
    x = 3.1;
    y = 6.5;
    double z = pow(x, y);
    printf("3.1的6.5次方=%f\n", z);//运行结果:3.1的6.5次方=1562.611478
//实验函数cbrt()
    printf("100.36的立方根:%f\n",cbrt(100.36));//运行结果:100.36的立方根:4.647152
//实验函数fabs()
    x = fabs(3 - 3.69);
    printf("3-3.69的绝对值:%f\n",x);//运行结果:3-3.69的绝对值:0.690000
    getchar();
    return 0;
}


http://www.niftyadmin.cn/n/5664858.html

相关文章

Oracle数据库中的动态SQL(Dynamic SQL)

Oracle数据库中的动态SQL是一种在运行时构建和执行SQL语句的技术。与传统的静态SQL&#xff08;在编写程序时SQL语句就已经确定&#xff09;不同&#xff0c;动态SQL允许开发者在程序执行过程中根据不同的条件或用户输入来构建SQL语句。这使得动态SQL在处理复杂查询、存储过程中…

ubuntu64位系统无法运行32位程序的解决办法

在 64 位的 Ubuntu 系统上运行 32 位程序时&#xff0c;如果出现问题&#xff0c;可能是由于缺少 32 位库支持。以下步骤可以帮助你解决这一问题&#xff1a; 1. 启用 32 位架构 首先&#xff0c;确保系统支持 32 位架构。你可以通过以下命令添加 32 位架构支持&#xff1a; …

(二建)二级建造师考试真题及答案

&#xff08;二建&#xff09;二级建造师考试真题及答案 11.下列结构图中&#xff0c;用来反映一个建设项目参建单位之间责权关系的是&#xff08;&#xff09;。 A.项目结构图 B.组织结构图 C.合同结构图 D.流程结构图 答案&#xff1a;C 解析&#xff1a;合同结构图反…

scantf

第十三届蓝桥杯C B组 b题 #include<bits/stdc.h> using namespace std; int res; int m[13] {0,31,28,31,30,31,30,31,31,30,31,30,31, }; bool check(string s) {for(int i0;i2<s.size();i){if(s[i]1s[i1]&&s[i1]1s[i2])return true;}return false; } int m…

系统安装CH384串口卡驱动

1. 解压驱动文件CH38XDRV.tar&#xff0c;并进入驱动目录 cd CH38XDRV/DRV_28S/LINUX/driver$ 2. 编译 sudo make edgeedge-PC:~/CH38XDRV/DRV_28S/LINUX/driver$ sudo make 请输入密码: 验证成功 make -C /lib/modules/4.19.0-arm64-desktop/build M/home/edge/CH38XDRV/DRV…

Java智慧云智能教育平台

技术架构&#xff1a; SpringBoot Mybatis Shiro mysql redis 功能描述&#xff1a; 支持多种题型&#xff1a;选择题、多选题、判断题、填空题、综合题以及数学公式。支持在线考试&#xff0c;教师在线批改试卷。 功能模块&#xff1a;系统首页、教育教学模块、考试管…

【洛谷】P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题 的题解

【洛谷】P11036 【MX-X3-T3】「RiOI-4」GCD 与 LCM 问题 的题解 题目传送门 题解 神奇构造题qaq 简化一下下题目&#xff0c;就是要求 a b c d gcd ⁡ ( a , b ) lcm ⁡ ( c , d ) a b c d \gcd(a, b) \operatorname{lcm}(c,d) abcdgcd(a,b)lcm(c,d) 分类讨论 …

等保2.0之Hana数据库测评

等保2.0之Hana数据库测评 HANA&#xff08;High-Performance Analytic Appliance&#xff09;是由SAP开发的一种内存数据库。它是一款面向实时数据处理和分析的高性能数据库解决方案。 HANA数据库具有以下特点&#xff1a; 内存计算&#xff1a;HANA利用内存作为主要存储介质…