用C语言编一个函数,功能是求X的Y次方

用C语言编一个函数,功能是求X的Y次方,第1张

1、新建一个c语言的工程文件,引入头文件,这里先定义一个poewer函数处理x的y次方的计算,定义两个参数n和k,分别表示输入的数和要求的次方数:

2、在poewer函数中药考虑k次方为1和0的情况,之后用递归的方式将n乘以不断减小的k即刻完成n次方的计算。之后在主函数定义输入的数据,用scanf函数接受值,在调用power函数计算,最后输出结果即可:

3、运行程序,首先输入数字5,按下回车,接着输入数字6然后回车,最终程序打印出了5的6次方的结果。以上就是用C语言求X的Y次方的演示:

C语言中表达n次方可以用pow函数。

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

功 能:计算x^y的值

返 回 值:计算结果

举例:

double aa = pow(3.14, 2) // 计算3.14的平方,并将结果保存在变量a中

注:使用pow函数必须将头文件#include<math.h>包含进源文件中

double pow(double x, double y)

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

可能导致错误的情况:

如果底数 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>

intmain()

{ 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))

return0}

输出结果:

7 ^ 3 = 343.000000

4.73 ^ 12 = 125410439.217423

32.01 ^ 1.54 = 208.036691


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11067676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存