c语言 整数幂
1、头文件:#include
2、原型:
double pow(double x, double y);
pow() 函数用来求 x 的 y 次幂(次方)
pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。
3、举例如下:
double a = pow(4, 2); // 计算4的平方
4、可能导致错误的情况:
如果底数 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。
注意:1、使用pow函数时,需要将头文件#include包 含进源文件中。
2、用pow(x,y)的话要用到math.h头文件。
扩展资料:
1、 三角函数: double sin (double);正弦 double cos (double);余弦 double tan (double);正切
2 、反三角函数: double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反正切(主值), 结果介于[-PI/2, PI/2] double atan2 (double, double); 反正切(整圆值), 结果介于[-PI/2, PI/2]
3 、双曲三角函数: double sinh (double); double cosh (double); double tanh (double);
4 、指数与对数: double exp (double); double sqrt (double);开平方 double log (double); 以e为底的对数 double log10 (double);以10为底的对数 double pow(double x, double y);计算以x为底数的y次幂 float powf(float x, float y); 功能与pow一致,只是输入与输出皆为浮点数
5 、取整: double ceil (double); 取上整 double floor (double); 取下整
6 、绝对值: double fabs (double);求绝对值 double cabs(struct complex znum) ;求复数的绝对值
7 、标准化浮点数: double frexp (double f, int *p); 标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] ) double ldexp (double x, int p); 与frexp相反, 已知x, p求f
8 、取整与取余: double modf (double, double*); 将参数的整数部分通过指针回传, 返回小数部分 double fmod (double, double); 返回两参数相除的余数
9 、其他: double hypot(double x, double y);已知直角三角形两个直角边长度,求斜边长度 double ldexp(double x, int exponent);计算x*(2的exponent次幂) double poly(double x, int degree, double coeffs [] );计算多项式 nt matherr(struct exception *e);数学错误计算处理程序
#include
int power(int n,int p);
void main()
{ int S[8];
int i=0;
int n=2;
printf("The results is:
");
for(i=0;i<8;i++)
{
S[i]=power(n,i+1);//调用函数
printf("%d
",S[i]);
}
printf("That's all
");
}
int power(int n,int p)
{
int pow=1;
int i;
for(i=0;i<=p;i++)
pow*=n;
return pow;
}
在调用:S[i]=power(n,i); 之前,i未初始化,可以手动输出来看一下,值结果是随机的,并不一定是0。
编译会提示:Warning: Possible use of 'i' before definition in function main在do{}while;中,开关i值并未改变,若i<8成立,那么程序就会变成死循环。
一开始的那个i没有初始化,s[i]不知道用哪里的内存了。还有每次循环后记得i++。
扩展资料:注意事项
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。
Math.pow(底数,几次方)
如:double a=2.0;
double b=3.0;
double c=Math.pow(a,b);
就是2的三次方是多少;
c最终为8.0;
#include<math.h>
int main(){
long a,b,c,d,e,f,g,h,i; /* 使用long*/
scanf("%ld %ld %ld",&a,&b,&c);
d=a*a;
e=b*b;
f=c*c;
g=pow(a,3);
h=pow(b,3);
i=pow(c,3);
printf("%-9ld%-9ld%-9ld\n%-9ld%-9ld%-9ld\n%-9ld%-9ld%-9ld\n",a,b,c,d,e,f,g,h,i); /*注意打印顺序*/
return 0;
}
在我这也没错,你那边报什么错啊?
能把错误提醒补充一下吗?或者输出结果?
看起来貌似没有错,会不会是输入问题?
你这个代码在我这里木有问题啊
4 5 6
4 16 64
5 25 124
6 36 216
盖芬中华: 用对其的格式化输出类似如下: printf("%09d\n", nums[i]);
兰考县17075177761: 如何用C语言编写幂运算的代码 - ?
盖芬中华: #include "stdio.h" #include "math.h"int main() {float a,b;printf("请输入整数:");scanf("%f",&a);printf("请输入幂:");scanf("%f",&b);printf("结果:%g\n",pow(a,b)); }
兰考县17075177761: c语言如何编译整数幂 - ?
盖芬中华: int power(int base, int n) {if (n == 0)return 1;if (n == 1)return base;return base * power(base, n-1); }
兰考县17075177761: 幂运算符怎么用? - ?
盖芬中华: 在C语言中,幂运算使用符号 "^". 例如,要计算2的3次幂,可以使用表达式 "2^3".注意,在C语言中,幂运算的结果是一个浮点数,而不是整数.如果需要计算整数幂,可以使用 "pow" 函数. 在C语言中,幂运算使用符号 "^".例如,要计算2的3次幂,可以使用表达式 "2^3".注意,在C语言中,幂运算的结果是一个浮点数,而不是整数.如果需要计算整数幂,可以使用 "pow" 函数.
兰考县17075177761: C语言求幂 - ?
盖芬中华: 1,for循环的条件错了,应该是大于号. 2,math.h中的函数用的时候要慎重,这些都是用来做复杂的数学计算的,时间开销都很大. 3,求余只能对整数操作,这点是必然的.但浮点数是可以转换成整数的,可以用强制类型转换,或者设一个整型...
兰考县17075177761: 在C语言中如何计算一个数的幂的方法有哪些 - ?
盖芬中华: 整数的话最简单的办法就是将一个给定到数连乘n次;以计算a到n次幂为例: #include"stdio.h" main() { double a,temp; int n,i; temp=1; printf("请输入底数:"); scanf("%d",&a);printf("请输入指数:"); scanf("%d",&n); for(i=0;i<n;i++); {temp=temp*a; }printf("%f",temp); } 这种方法只适用与指数n为>=0的整数;如果涉及分数或负数要用到数学函数#include"math.h"
兰考县17075177761: C语言中的幂函数怎么写? - ?
盖芬中华: extern float pow(float x, float y) 1. 用法:#include <math.h> 2. 功能:计算x的y次幂. 3. 说明:x应大于零,返回幂指数的结果. 4. 举例:// pow.c#include <stdlib.h> #include <math.h> #include <conio.h> void main() { printf("4^5=%f",pow(4.,5.))...
兰考县17075177761: C语言编程:输入3个整数,输出它们的1次幂、2次幂和3次幂. - ?
盖芬中华: #include int power(int x,int i) { if(i == 0) return 1; else return x*power(x,i-1); } int main(void) { int x; int i; scanf("%d",&x); for(i = 0; i <=x ; i++) { printf("2^%d=%d\n",i,power(2,i)); } }
兰考县17075177761: C语言题整数幂(多实例测试) - ?
盖芬中华: //求采纳 //代码如下: //要是c语言就把头文件的那个c删掉,然后在后面加.h #include#include int main() { int a,b,sum,p,flag=0,n; scanf("%d",&n); while(n--) { scanf("%d%d",&a,&b); if(a==0&&b==0) { flag=1;break; } else { sum=pow(a,b); if(sum>=1000)p=sum%1000; else p=sum; } if(flag==1)printf("0\n"); else printf("%d\n",p); } return 0; }
兰考县17075177761: c语言中,怎样计算数值的幂,可以直接用power(1.2,4)不? - ?
盖芬中华: 不可以.power(m, n)函数用于计算整数m的n次幂,其中m,n 是整数.计算浮点数x的y次幂用pow,double pow( double x, double y );