Code: #include <stdio.h> #include <string.h> #define N 20 //长整数的位数 #define M 100 //储存乘法结果 int main() { int i, j, len, len1, len2, num1[N], num2[N], total[M]={0}; char valute1[N], valute2[N]; scanf("%s", &valute1); scanf("%s", &valute2); len1=strlen(valute1); len2=strlen(valute2); len=len1+len2-1; for (i=0; i<len1; i++) { num1[i]=valute1[len1-1-i]-'0'; } for (i=0; i<len2; i++) { num2[i]=valute2[len2-1-i]-'0'; } for (i=0; i<len1; i++) { for (j=0; j<len2; j++) { total[i+j]+=num1[i]*num2[j]; } } for (i=0; i<len; i++) { if (total[i]>9) { total[i+1]+=total[i]/10; total[i]%=10; if (total[len]) { len++; } } } for (i=len-1; i>=0; i--) { printf("%d", total[i]); } printf("/n"); return 0; }