高精度计算a的b次方
求a的b次方,a可以是小数。#include<stdio.h> #include<string.h> #define MAX 300 void fun(int a,int b,int c,int n) int i,temp=0,j; for(i=0;i<MAX;i+) for(j=0;j<=n;j+) ci+j=ci+j+bi*aj+temp; if(ci+j>=10) temp=ci+j; ci+j=ci+j%10; temp=temp/10; else temp=0;void fang(char aa,int bb,int n) int i,j; long int m=0,temp=0;int aMAX=0; int bMAX=0;int cMAX=0; for(i=n-1,j=0;i>=0;i-,j+) if(aai='.')m=j;j-; continue; aj=aai-'0' for(i=0;i<MAX;i+) bi=ai;if(bb=1)for(i=0;i<MAX;i+) ci=ai;elsefor(i=1;i<bb;i+) fun(a,b,c,n); for(j=0;j<MAX;j+) bj=cj;cj=0; for(j=0;j<MAX;j+) cj=bj;temp=0;for(i=1;i<=bb;i+) temp=m+temp;for(i=MAX-1;i>=0;i-)if(ci!=0)break;if(i+1>temp)for(j=i;j>=0;j-) if(temp=j+1) printf("."); printf("%d",cj);printf("n");elseif(i+1=temp)printf("0.");for(j=i;j>=0;j-)printf("%d",cj); elseprintf("0.");for(j=temp-1;j>=0;j-) printf("%d",cj);void main()int n,bb;char aaMAX;printf(”请输入a的b次方a=:");gets(aa);n=strlen(aa);printf("请输入a的b次方b=:"); scanf("%d",&bb);printf(”s 的小次方:",aa,bb); fang(aa,bb,n);