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("
");
        printf("Case %d:
%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("
");
    }
}

仔细,细心

原文地址:https://www.cnblogs.com/mayouyou/p/8442897.html