十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#include stdio.h
创新互联公司是专业的硚口网站建设公司,硚口接单;提供成都网站建设、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行硚口网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
float zhishu(float x,int n)
{
int i;
float sum;
if(n0)return 0;
else
{
for(i=0;i=n;i++)
{ if(i==0)sum=x;
else
sum*=x;
}
return sum;
}
}
void main()
{
int n;
float x;
puts("请输入底数x和指数n,中间以回车隔开");
scanf("%f",x);
scanf("%d",n);
printf("%f",zhishu(x,n));
}我运行过了,结果行.不过我只写出指数是正整数的.负整数的也是同样的道理.你自己写吧
C语言中的POW函数使用:
#includestdio.h
#defineACCURACY100
doublefunc1(doublet,intn);
doublefunc2(doubleb,intn);
doublepow2(doublea,doubleb);
intmain(){
printf("%lf",pow2(5.21,4.11));
return0;
}
doublepow2(doublea,doubleb){
if(a==0b0){
return0;
}
elseif(a==0b=0){
return1/0;
}
elseif(a0!(b-(int)b0.0001||(b-(int)b0.999))){
return1/0;
}
if(a=2a=0){
doublet=a-1;
doubleanswer=1;
for(inti=1;iACCURACY;i++){
answer=answer+func1(t,i)*func2(b,i);
}
returnanswer;
}
elseif(a2){
inttime=0;
while(a2){
a=a/2;
time++;
}
returnpow2(a,b)*pow2(2,b*time);
}
else{
if((int)b%2==0){
returnpow2(-a,b);
}
else{
return-pow2(-a,b);
}
}
}
doublefunc1(doublet,intn){
doubleanswer=1;
for(inti=0;in;i++){
answer=answer*t;
}
returnanswer;
}
doublefunc2(doubleb,intn){
doubleanswer=1;
for(inti=1;i=n;i++){
answer=answer*(b-i+1)/i;
}
returnanswer;
}
扩展资料
C++提供以下几种pow函数的重载形式:
doublepow(doubleX,intY);
floatpow(floatX,floatY);
floatpow(floatX,intY);
longdoublepow(longdoubleX,longdoubleY);
longdoublepow(longdoubleX,intY);
使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。
其中较容易发生重载的是使用形如:
intX,Y;
intnum=pow(X,Y);
这是一个比较常用的函数,但是编译器会提醒有多个“pow”实例与参数列表相匹配。
可以使用强制类型转换解决这个问题:num=pow((float)X,Y);
在开始加上#include math.h;
程序中就可以调用pow(x,y)。
main()
{
double z;
z=pow(10,5);
printf("%lf/n",z);
}
输出结果:
285.000000
扩展资料
c语言求自然对数的底e的指数,可以使用函数exp().
exp()的头文件:#include
exp()的函数原型:double exp(double x);
exp()函数的作用:返回e的x次方。
exp()的相关函数:float expf(float x);
long double expl(long double x);
注:自然对数的底e叫做: 欧拉数(eula's number)