98的98次方用C语言怎么打

用数组做
2026年09月02日 06:58
有2个网友回答
网友(1):

你是想用大数乘法方法计算吗?
程序如下,数字位数若不够,你自己修改一下 MAXINT 1000 的大小:
#include
#include
#include
#define MAXINT 1000
int bigmult2(int a[],int b[],int *c);

main(){
int a[MAXINT]={2,8,9}; //98*98
int b[MAXINT]={2,8,9};
int c[MAXINT];
int i,j;
for (i=1;i<98;i++){
bigmult2(a,b,c);
for(j=0;j}
printf("Big integers multi: ");
for (i=c[0];i>=1;i--) printf("%d",c[i]);
printf("\n");
return 0;
}
int bigmult2(int a[],int b[],int *c)
{
int i,j,len;
for (i=0;ic[i]=0;
for (i=1;i<=a[0];i++)
for (j=1;j<=b[0];j++)
{
c[i+j-1]+=a[i]*b[j];
c[i+j]+=c[i+j-1]/10;
c[i+j-1]%=10;
}
len=a[0]+b[0];
while (len>1 && c[len]==0)
len--;
c[0]=len;
return len;
}

=====
可以比较一下近似值: printf("%lf ",pow(98,98));

网友(2):

可以用pow(98,98);

在C语言中,并没有乘法运算符,所以要计算乘方,需要调用系统函数pow。
声明:
double pow(double a, double b);

功能说明:
计算a的b次幂,并返回。

头文件:
math.h