✅ 操作成功!

次方计算

发布时间:2023-06-04 作者:admin 来源:文学

次方计算

次方计算

-迪拜语言

2023年2月15日发(作者:鹅湖书院)

求a的b次方,a可以是小数。

#include

#include

#defineMAX300

voidfun(inta[],intb[],intc[],intn)

{

inti,temp=0,j;

for(i=0;i

{

for(j=0;j<=n;j++)

{

c[i+j]=c[i+j]+b[i]*a[j]+temp;

if(c[i+j]>=10)

{

temp=c[i+j];

c[i+j]=c[i+j]%10;

temp=temp/10;

}

else

temp=0;

}

}

}

voidfang(charaa[],intbb,intn)

{

inti,j;

longintm=0,temp=0;

inta[MAX]={0};

intb[MAX]={0};

intc[MAX]={0};

for(i=n-1,j=0;i>=0;i--,j++)

{

if(aa[i]=='.')

{

m=j;

j--;

continue;

}

a[j]=aa[i]-'0';

}

for(i=0;i

b[i]=a[i];

if(bb==1)

for(i=0;i

c[i]=a[i];

else

{

for(i=1;i

{

fun(a,b,c,n);

for(j=0;j

{

b[j]=c[j];

c[j]=0;

}

}

for(j=0;j

{

c[j]=b[j];

}

}

temp=0;

for(i=1;i<=bb;i++)

temp=m+temp;

for(i=MAX-1;i>=0;i--)

if(c[i]!=0)

break;

if(i+1>temp)

{

for(j=i;j>=0;j--)

{

if(temp==j+1)

printf(".");

printf("%d",c[j]);

}

printf("n");

}

else

if(i+1==temp)

{

printf("0.");

for(j=i;j>=0;j--)

printf("%d",c[j]);

}

else

{

printf("0.");

for(j=temp-1;j>=0;j--)

printf("%d",c[j]);

}

}

voidmain()

{

intn,bb;

charaa[MAX];

printf("请输入a的b次方a==:");

gets(aa);

n=strlen(aa);

printf("请输入a的b次方b==:");

scanf("%d",&bb);

printf("%s的%d次方:",aa,bb);

fang(aa,bb,n);

}

👁️ 阅读量:0