C语言如何计算x的n次方

C语言如何计算x的n次方,需要能计算:如89的50次方,等得到大数字结果(可以限定结果为300位),注意溢出问题,算法和代码都行,谢了。

#include "stdio.h"

void main()

{

int x,n;

long sum=1;

printf("请输入x:");

scanf("%d",&x);

printf("请输入n:");

scanf("%d",&n);

printf("%d的%d次方是",x,n);

for(int i=1;i<=n;i++)

    sum*=x;

printf("%d\n",sum);

}

追问

溢出了

追答

不会吧。我这运行正常噻。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-17
算法如下:
#include

float x;
int n,i;
float s=1.0;
void main()
{
printf("Please Input x:");
scanf("%f",&x);
printf("Please Input num:");
scanf("%d",&n);
if(n<0)
printf("n must greater than 0.");
else if(n==0)
s=1;
else
{
for(i=1;i<=n;i++)
{
s=s*x;
}
}
printf("%f\n",s);
}
第2个回答  2013-12-04
原型:extern float pow(float x, float y);

用法:#include <math.h>

功能:计算x的y次幂。

说明:x应大于零,返回幂指数的结果。

举例:

// pow.c

#include <syslib.h>

#include <math.h>

main()

{

clrscr(); // clear screen

textmode(0x00); // 6 lines per LCD screen

printf("4^5=%f",pow(4.,5.));

getchar()();

return 0;

}
第3个回答  2013-12-04
你搜整数大数乘法C语言实现追问

计算机不会出现那么大的数,会溢出的

第4个回答  2013-12-04
for(int i = 0; i < 50; i ++)
{
sum *= 89 ;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网