#include<stdio.h>
#include<string.h>int main(void){ char a[100],b[100];//数组a和b存放两大数 char c[200];//数组c存放运算结果 int i,j,t; int p; int w; for(i=0;i<200;i++) { c[i]='*'; } scanf("%s",a);//取值a scanf("%s",b);//取值bt=0;
for(i=strlen(a)-1;i>=0;i--) {p=t;
for(j=strlen(b)-1;j>=0;j--) {if(c[p]=='*')
{ c[p]=0; } c[p]=c[p]+(a[i]-'0')*(b[j]-'0'); w=0; if(c[p]>=10) {while((c[p-w]>=10)&&c[p-w]!='*')
{ if(c[p-w+1]=='*') { c[p-w+1]=0; } c[p-w+1]=c[p-w+1]+(c[p-w])/10; c[p-w]=c[p-w]%10;w++;
} } p++; }
t++;
}for(i=199;i>=0;i--)
{ if(c[i]!='*') printf("%c",c[i]+'0');//输出字符 } printf("\n"); return 0;}
参考程序:
http://wenku.baidu.com/link?url=-TozIT9LUQSZr_03_eKsilrmvTkSbg3plKLv2VOgmYkLrviEAwwXVVbUQa7Z0V8cgWnsdLg0_CBUseumOQXdBjkRvwnDU6YnY6WduFT8y-a