
正文
c语言函数求x次方 c语言函数求x的n次方
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么用C语言编写一个计算次方的函数?
C语言中表达n次方可以用pow函数。
函数原型:double pow(double x, double y)
功 能:计算x^y的值
返 回 值:计算结果
举例:
double a;a = pow(3.14, 2); // 计算3.14的平方,并将结果保存在变量a中
注:使用pow函数必须将头文件#includemath.h包含进源文件中
相关问答
Q1: C语言 函数功能是计算x的n次方
C语言中计算x的n次方可以用库函数来实现。具体的代码如下:
#include stdio.h
#include math.h
int main( ) {printf("%f",pow(x,n));return 0;}
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作。
扩展资料:
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
参考资料来源:百度百科-C语言
Q2: c语言 x的x次方 用2种以上方法
方法1:
递归、循环、楼上的说的很详细了
方法2:
高精度+二分
下附法2的程序,大概在x=5000时可以1s跑出(我的7年老电脑上。。。)
你的机子肯定能跑更大的。。。
结果的位数如果不够在maxn那里改,不过谁也算不出1000w位吧,应该够了。。。
在文件"hello.in"中输入,输出在"hello.out"
#includestdio.h
#define
maxn
10000000
#define
max(a,b)
ab?a:b
int
x,a[maxn],b[maxn],o;
int
ans[maxn],p;
int
s3[maxn];
void
Mult(int
s1[],int
*l1,int
s2[],int
l2)
{
int
i,j;
for(i=1;
i=*l1+l2+2;
i++)
s3[i]=0;
for(i=1;
i=*l1;
i++)
for(j=1;
j=l2;
j++)
s3[i+j-1]+=s1[i]*s2[j];
j=*l1+l2-1;
for(i=1;
i=j;
i++)
if(s3[i]9)s3[i+1]+=s3[i]/10,s3[i]%=10,j=max(j,i+1);
for(i=1;
i=j;
i++)
s1[i]=s3[i];
*l1=j;
}
void
Init(void)
{
int
i,j=0,k;
i=x;
p=1;
ans[1]=1;
for(;i;i=i1)
a[++j]=i1;
while(x)
b[++o]=x%10,x/=10;
for(i=j;
i;
i--)
{
Mult(ans,p,ans,p);
if(a[i])
Mult(ans,p,b,o);
}
for(i=p;
i=1;
i--)
printf("%ld",ans[i]);
printf("\n");
}
int
main(void)
{
freopen("hello.in","r",stdin);
freopen("hello.out","w",stdout);
scanf("%ld",x);
Init();
return
0;
}
关于c语言函数求x次方和c语言函数求x的n次方的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






