为什么自己实现一个pow()函数呢?昨天在Linux操作系统中调用这一个函数时,一直报错,也没有查找到具体的原因。故心血来潮实现这一函数功能。
函数所在头文件:
  在"math.h"头文件中
函数原型

  1.  double pow (doublebase,double exponent);

函数功能
  求base的exponent幂,即求某个数的多少次幂

函数参数
  base :基数(double类型)
  exponent :幂值,即进行多少次幂的值

函数返回值
  如果成功执行,返回求得某个数的多少次幂的值;否则,返回错误。

实例一:pow()函数简单使用

  1.  #include<stdio.h>
    #include<math.h> int main(void)
    {
    double value1 = pow(2.0,3.0);
    printf("value1 = %f\n", value1); double value2 = pow(2.22,3.0);
    printf("value2 = %f\n", value2); double value3 = pow(5.21,4.11);
    printf("value3 = %f\n", value3); return0;
    }

运行结果:

实例二:pow()函数实现代码

  1.  #include<stdio.h>
    #include<math.h>
    //实现pow()函数
    double mypow(double num,double n)
    {
    double value =;
    int i =;
    if(n ==)
    {
    value =;
    }
    else
    {
    while(i++<= n)
    {
    value *= num;
    }
    }
    return value;
    } int main(void)
    {
    double value1 = mypow(2.0,3.0);
    printf("value1 = %f\n", value1); double value2 = mypow(2.22,3.0);
    printf("value2 = %f\n", value2); double value3 = mypow(5.21,4.11);
    printf("value3 = %f\n", value3); return0;
    }

运行结果

操作注意:
  可能导致错误的情况:

  • 如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。
  • 如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。
  • 如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。
  • 如果返回值 ret 太大或者太小,将会导致 range error 错误。

  在使用"math.h"头文件里面的库函数时,在Linux系统上进行GCC编译时,需要在命令后面加上"-lm"(链接库函数的文件);否则会报错。

C语言--pow()函数实现的更多相关文章

  1. C语言pow函数编写

    C语言pow函数编写 #include<stdio.h> double chaoba(double f,double q); //声明自定义函数 void main(void) { dou ...

  2. C语言pow()函数的计算精度问题

    编程计算 a+aa+aaa+-+aa-a(n个a)的值,n和a的值由键盘输入.例如,当n=4,a=2,表示计算2+22+222+2222的值. 程序运行结果示例: Input a,n: 2,4↙ su ...

  3. pow函数(数学次方)在c语言的用法,两种编写方法实例( 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值)

    关于c语言里面pow函数,下面借鉴了某位博主的一篇文章: 头文件:#include <math.h> pow() 函数用来求 x 的 y 次幂(次方),x.y及函数值都是double型 , ...

  4. C语言的本质(15)——C语言的函数接口入门

    C语言的本质(15)--C语言的函数接口 函数的调用者和其实现者之间存在一个协议,在调用函数之前,调用者要为实现者提供某些条件,在函数返回时,实现者完成调用者需要的功能. 函数接口通过函数名,参数和返 ...

  5. C 语言 clock() 函数,例:计算多项式值

    C 语言 clock() 函数,例:计算多项式值 /** * clock(): 捕捉从程序开始运行到 clock() 被调用时所耗费的时间. * 这个时间单位是 clock tick, 即" ...

  6. 06--C语言数学函数

    在使用C语言数学函数时候,应该在该源文件中使用以下命令行: #include <math.h> 或 #include "math.h",这里的<>跟&quo ...

  7. 3016C语言_函数

    第六章 函数 6.1 函数概述 定义 函数:是具有一定功能的一个程序块:是C语言的基本组成单位. 在前面各章的例子及读者自己编写的C语言程序中都用到了以“main“开头的主函数,并且在程序中频繁地调用 ...

  8. C语言-自定义函数

    C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...

  9. C语言printf()函数:格式化输出函数

    C语言printf()函数:格式化输出函数 头文件:#include <stdio.h> printf()函数是最常用的格式化输出函数,其原型为:     int printf( char ...

随机推荐

  1. c或c++的网络库

    Asio C++ Library: Asio is a cross-platform C++ library for network and low-level I/O programming tha ...

  2. ES系列目录

    ES系列一.CentOS7安装ES 6.3.1 ES系列二.CentOS7安装ES head6.3.1 ES系列三.基本知识准备 ES系列四.ES6.3常用api之文档类api ES系列五.ES6.3 ...

  3. oracle flashback 后主键及索引更改问题

    oracle flashback 后 主键会变为bin开头,如果删除可以采用将sql复制出单独窗口,然后加上“”执行

  4. SIP 认证

    理解SIP的认证 1. 认证和加密    认证(Authorization)的作用在于表明自己是谁,即向别人证明自己是谁.而相关的概念是MD5,用于认证安全.注意MD5仅仅是个hash函数而已,并不是 ...

  5. 转载:JAVA序列化与反序列化 (作者:YSOcean)

    原文:https://www.cnblogs.com/ysocean/p/6870069.html File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878 ...

  6. sklearn,交叉验证中的分层抽样

    StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同. 例子: import numpy as np from sklearn.m ...

  7. JS实现数组去重(重复的元素只保留一个)

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: ,,,,,,,,]; func ...

  8. LeetCode(43):字符串相乘

    Medium! 题目描述: 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = &quo ...

  9. php反射类的使用及Laravel对反射的使用介绍

    PHP的反射类与实例化对象作用相反,实例化是调用封装类中的方法.成员,而反射类则是拆封类中的所有方法.成员变量,并包括私有方法等.就如“解刨”一样,我们可以调用任何关键字修饰的方法.成员.当然在正常业 ...

  10. python 全栈开发,Day75(Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件)

    昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ----- ...