用C语言求幂函数和指数函数的方法_C 语言

C语言pow()函数:求x的y次方(次幂)
头文件:

#include <math.h>

pow() 函数用来求 x 的 y 次幂(次方),其原型为:

  double pow(double x, double y);

pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。

可能导致错误的情况:

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

错误代码:

  • 如果发生 domain error 错误,那么全局变量 errno 将被设置为  EDOM;
  • 如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。

注意,使用 GCC 编译时请加入-lm。

【实例】请看下面的代码。

#include <stdio.h>
#include <math.h>
int main ()
{
  printf ("7 ^ 3 = %f\n", pow (7.0, 3.0) );
  printf ("4.73 ^ 12 = %f\n", pow (4.73, 12.0) );
  printf ("32.01 ^ 1.54 = %f\n", pow (32.01, 1.54) );
  return 0;
}

输出结果:

7 ^ 3 = 343.000000
4.73 ^ 12 = 125410439.217423
32.01 ^ 1.54 = 208.036691

C语言sqrt()函数:求给定值的平方根
头文件:

#include <math.h>

sqrt() 用来求给定值的平方根,其原型为:

  double sqrt(double x);

【参数】x 为要计算平方根的值。

如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。

【返回值】返回 x 平方根。

注意,使用 GCC 编译时请加入-lm。

【实例计算200 的平方根值。】

#include <math.h>
main(){
  double root;
  root = sqrt(200);
  printf("answer is %f\n", root);
}

输出结果:

answer is 14.142136

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c语言
, 幂函数
指数函数
c语言幂函数、c语言幂函数怎么表示、c语言中幂函数、c语言的幂函数、c语言中的幂函数,以便于您获取更多的相关知识。

时间: 2024-10-15 20:59:42

用C语言求幂函数和指数函数的方法_C 语言的相关文章

C语言求圆周率的简单实现方法_C 语言

本文实例讲述了C语言求圆周率的方法.分享给大家供大家参考,具体如下: #include <stdio.h> #include <math.h> void main() { int s; float n,t,pi; t=1,pi=0;n=1.0;s=1; while(fabs(t)>1e-6) { pi=pi+t; n=n+2; s=-s; t=s/n; } pi=pi*4; printf("pi=%10.6f/n",pi); } 此处得出的结果可精确到小数

使用C语言求N的阶乘的方法_C 语言

用递归法求N的阶乘 程序调用自身称为递归( recursion).它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解. 递归的能力在于用有限的语句来定义对象的无限集合. 一般来说,递归需要有边界条件.递归前进段和递归返回段.当边界条件不满足时,递归前进:当边界条件满足时,递归返回. #include <stdio.h> #include <string.h> #include <stdlib.h> long factorial(int n) {

C语言求幂计算的高效解法_C 语言

本文实例演示了C语言求幂计算的高效解法.很有实用价值.分享给大家供大家参考.具体方法如下: 题目如下: 给定base,求base的幂exp 只考虑基本功能,不做任何边界条件的判定,可以得到如下代码: #include <iostream> using namespace std; int cacExp(int base, int exp) { int result = 1; int theBase = 1; while (exp) { if (exp & 0x01) result =

使用C语言实现最小生成树求解的简单方法_C 语言

最小生成树Prim算法朴素版 有几点需要说明一下. 1.2个for循环都是从2开始的,因为一般我们默认开始就把第一个节点加入生成树,因此之后不需要再次寻找它. 2.lowcost[i]记录的是以节点i为终点的最小边权值.初始化时因为默认把第一个节点加入生成树,因此lowcost[i] = graph[1][i],即最小边权值就是各节点到1号节点的边权值. 3.mst[i]记录的是lowcost[i]对应的起点,这样有起点,有终点,即可唯一确定一条边了.初始化时mst[i] = 1,即每条边都是从

C语言解线性方程的四种方法_C 语言

发了好几天编了个解线性方程组的小程序,可第一次实战就大败而归.经过半天的调试,仍找不出纠正的方法.因为并不是算法的问题,而是因为自己对编译器处理 浮点函数的方法不是很理解.明明D=0的方阵解出来不等于0了,跟踪调试发现,计算过程程序对数据进行了舍去处理,导致最终结果不对.不过如果没有浮点型 的话,这个程序应该算不错了 . 复制代码 代码如下: #include<stdio.h>#include<math.h>#include<mem.h>#define NUM 100v

C语言实现BMP转换JPG的方法_C 语言

本文实例讲述了C语言实现BMP转换JPG的方法.分享给大家供大家参考.具体实现方法如下: /**************************************************************************** 名称: jpeg.c 功能: linux下bmp转化为jpeg程序源代码 日期: 2010.01.26 注意: 编译时加"-ljpeg"(gcc -o bmp2jpg jpeg.c -ljpeg) ***********************

C语言打印华氏-摄氏温度对照表的方法_C 语言

本文实例讲述了C语言打印华氏-摄氏温度对照表的方法.分享给大家供大家参考.具体实现方法如下: /* * 打印华氏-摄氏温度对照表 */ #include <stdio.h> /* 温度上限 */ #define MIN 20.0 /* 温度下限 */ #define MAX 300.0 /* 步长 */ #define BC 20.0 main() { /* 定义温度及上下限步常变量 */ float oc,of=1.0; /* 打印标题 */ printf("华氏-摄氏温度对照表\

C语言实现字母大小写转换的方法_C 语言

本文实例讲述了C语言实现字母大小写转换的方法.分享给大家供大家参考.具体实现方法如下: /* * 将大写字母转换为小写字母 */ #include <stdio.h> int lower(int c) { return ((c>='A')&&(c<='z'))?(c+'a'-'A'):(c); } main() { int i; char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(i=0;i<26;i++)

详解在C++中显式默认设置的函数和已删除的函数的方法_C 语言

在 C++11 中,默认函数和已删除函数使你可以显式控制是否自动生成特殊成员函数.已删除的函数还可为您提供简单语言,以防止所有类型的函数(特殊成员函数和普通成员函数以及非成员函数)的参数中出现有问题的类型提升,这会导致意外的函数调用. 显式默认设置的函数和已删除函数的好处 在 C++ 中,如果某个类型未声明它本身,则编译器将自动为该类型生成默认构造函数.复制构造函数.复制赋值运算符和析构函数.这些函数称为特殊成员函数,它们使 C++ 中的简单用户定义类型的行为如同 C 中的结构.也就是说,可以创