A × B problem
#include<iostream> #include<cstring> using namespace std; int main() { char a[123],b[123]; int aa[234]={0},bb[234]={0},cc[234]={0},n,m,i,j,k,N,I; cin>>N; for(I=1;I<=N;I++) { for(i=0;i<201;i++) aa[i]=bb[i]=cc[i]=0; cin>>a>>b; if(I!=1) printf("\n"); printf("Case %d:\n%s * %s = ",I,a,b); k=0; n=strlen(a); m=strlen(b); for(i=0;i<n;i++) aa[n-i-1]=a[i]-'0'; for(i=0;i<m;i++) bb[m-i-1]=b[i]-'0'; for(i=0;i<n;i++) for(j=0;j<m;j++) cc[i+j]+=aa[i]*bb[j]; for(i=0;i<=n+m+1;i++) if(cc[i]>=10) { cc[i+1]+=cc[i]/10; cc[i]=cc[i]%10; } for(i=m+n+1;i>=0;i--) { if(cc[i]) { k=1; printf("%d",cc[i]); } else if(k) printf("%d",cc[i]); } if(k==0) printf("0"); printf("\n"); } }
仔细,细心
be simple, be happy.