1,先把你的数字转换成字符串,然后用如下方法
// 字符串整数r = 字符串整数a * 字符串整数b
char* s_mul_sss(char *a,char* b, char* r)
{
int i,j,max;
short arr[200];
memset(arr,0,200);
max=0;
char bb[3];
for (i=0; i< strlen(a); i++)
for (j=0; j<strlen(b); j++) {
max = max < i+j ? i+j : max ;
arr[i+j+1] += (a[i]-'0')*(b[j]-'0');
memset (bb, 0, 3);
}
for (i=max+1; i>=1; i--) {
arr[i-1] += arr[i]/10;
arr[i] = arr[i]%10+'0';
}
i=0;
memset(r,0,200);
if (arr[0]>0) {
arr[0] += '0';
r[i++] = arr[0];
}
for (j=1;j<max+2;) {
r[i++]=arr[j++];
}
return r;
}
详细去我空间看看。以前做过一个阶乘,里面包含字符串乘法。
http://hi.baidu.com/kun_sir_/item/26b78183ec76bfc099255f68