1、n-i-1;m2+) void print(int *a,int n)n; for(int j=0;jj+) coutaijt; cout a=new int *n;/申请一个N行N列的数组 for(int i1=0;i10) m+;am=c; w=m*4+log10(am)+1;printf(n%ld,am);for(i=m-1;i=0;i-) printf(%4.4ld,ai);return w;mult(char c,char t,int m);c: 被乘数,用字符串表示,位数不限t: 结果,用字符串表示m: 乘数,限定10以内 null 需要 string.h void mult(ch
2、ar c,char t,int m) int i,l,k,flag,add=0; char s100; l=strlen(c); for (i=0;l; sl-i-1=ci-0 k=si*m+add; if (k=10) si=k%10;add=k/10;flag=1; else si=k;flag=0;add=0; if (flag) l=i+1;si=add; else l=i; tl-1-i=si+ tl=0mult(char a,char b,char s);a:b: 乘数,用字符串表示,位数不限 空间复杂度为 o(n2) void mult(char a,char b,char s)
3、 int i,j,k=0,alen,blen,sum=0,res6565=0,flag=0; char result65; alen=strlen(a);blen=strlen(b);alen; for (j=0;blen;j+) resij=(ai-)*(bj-); for (i=alen-1;i-) for (j=blen-1;jj-) sum=sum+resi+blen-j-1j; resultk=sum%10; k=k+1; sum=sum/10; for (i=blen-2;=i;j+) sum=sum+resi-jj; if (sum!=0) resultk=sum;k=k+1;k
4、;i+) resulti+= for (i=k-1;i-) si=resultk-1-i; sk= while(1) if (strlen(s)!=strlen(a)&s0=) strcpy(s,s+1); else break;add(char a,char b,char s); void add(char a,char b,char back) int i,j,k,up,x,y,z,l; char *c; if (strlen(a)strlen(b) l=strlen(a)+2; else l=strlen(b)+2; c=(char *) malloc(l*sizeof(char); i
5、=strlen(a)-1; j=strlen(b)-1; k=0;up=0; while(i=0|j if(i0) x= else x=ai; if(j9) up=1;z%=10; else up=0; ck+=z+ i-;j-; if(up) ck+=1 i=0; ck= for(k-=1;kk-) backi+=ck; backi=sub(char s1,char s2,char t);s1: 被减数,用字符串表示,位数不限s2: 减数,用字符串表示,位数不限 默认s1=s2,程序未处理负数情况 void sub(char s1,char s2,char t) int i,l2,l1,k;
6、 l2=strlen(s2);l1=strlen(s1); tl1=l1-; for (i=l2-1;i-,l1-) if (s1l1-s2i=0) tl1=s1l1-s2i+ tl1=10+s1l1-s2i+ s1l1-1=s1l1-1-1; k=l1; while(s1k=0) tl1=s1l1;loop: if (t0= l1=strlen(s1);l1-1;i+) ti=ti+1; tl1-1= goto loop; if (strlen(t)=0) t0=t1=conversion(char s1,char s2,long d1,long d2);s: 原进制数字,用字符串表示 转换结果,用字符串表示d1: 原进制数d2: 需要转换到的进制数 高于9的位数用大写AZ表示,216位进制通过验证 void conv
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1