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);
}
#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;
}
用法:#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 ;
}
{
sum *= 89 ;
}