//大数乘小数 void mult(char c[],int m,char t[]) { char s[100]; int len=strlen(c); for(int i=0;i<len;i++) s[len-i-1]=c[i]-'0'; int flag,add=0; for(int i=0;i<len;i++) { int k=s[i]*m+add; if(k>=10) { s[i]=k%10; add=k/10; flag=1; } else { s[i]=k; add=0; flag=0; } } while(add) { s[len++]=add%10; add/=10; } for(int i=0;i<len;i++) t[len-1-i]=s[i]+'0'; t[len]='\0'; } //大数加小数 void addt(char a[],int b,char c[]) { int len=strlen(a); char s[100]; for(int i=0;i<len;i++) s[len-i-1]=a[i]-'0'; int add=0; for(int i=0;;i++) { if(i>=len){s[i]=0;len++;} int k=s[i]+b%10+add; b/=10; if(k>=10) { s[i]=k%10; add=k/10; } else { s[i]=k; add=0; } if(b==0&&add==0)break; } for(int i=0;i<len;i++) c[len-1-i]=s[i]+'0'; c[len]='\0'; }