UVA10106- 乘积

来源:互联网 发布:做空人民币 知乎 编辑:程序博客网 时间:2024/06/05 18:03
#include <iostream>#include <string>#include <cstring>using namespace std;int main (){    string s, t;    while(1)    {        getline(cin,s);        if(s.size()==0)break;        getline(cin,t);        int l = s.size(), len = t.size();        int u = l + len;        int product[u];        memset(product,0,sizeof(int)*u);        for(int i = l-1; i >= 0; i--)            for(int j = len-1; j >= 0; j--)            {                product[i+j] += (s[i]-'0')*(t[j]-'0');            }        for(int i = u-1; i >=1; i--)        {            product[i-1] += product[i]/10;            product[i]%=10;        }        int f = 0;        for(int h = 0; h < u-1; h++)        {            if(product[h] == 0)            {                if(f)                    cout<<0;            }            else            {                f = 1;                cout<<product[h];            }        }        if(!f)cout<<0;        cout<<endl;    }    return 0;}

此题第一遍交的时候“编译错误”,原因是因为#include <string >中多加了个空格。正确的是#include <string>。