HDOJ 1002

来源:互联网 发布:游戏编程c语言 编辑:程序博客网 时间:2024/06/10 10:23

HDOJ 1002

大数加法

/*************************************************************************    > File Name: q.cpp    > Author: Gaojixuezha     > Mail: shenlonghun@gmail.com     > Created Time: 2015年05月19日 星期二 10时04分34秒 ************************************************************************/#include<iostream>#include<cstring>using namespace std;//字符串反转void StrReverse(char *a){    char b;    int n=strlen(a)-1;    for(int i=0;i<=n/2;i++)    {        b=a[i];        a[i]=a[n-i];        a[n-i]=b;    }}int main(){    int n;    cin>>n;    for(int j=0;j<n;j++){        //定义三个字符串用来存储数据        char a[1010]={0},b[1010]={0},c[1010]={0};        cin>>a>>b;        StrReverse(a);        StrReverse(b);        int m=0;        for(int i=0;a[i]||b[i]||m;i++){            //判断有几个字符串还有数字,方便正确的减去‘0’,得到正确的数字            int p=0;            if(a[i]){                p++;            }            if(b[i]){                p++;            }            char k=a[i]+b[i]+m-p*'0';            c[i]=k%10+'0';            m=k/10;        }        StrReverse(c);        StrReverse(a);        StrReverse(b);        cout<<"Case "<<j+1<<":"<<endl;        cout<<a<<" + "<<b<<" = ";        cout<<c<<endl;        if(j!=n-1){            cout<<endl;        }    }    return 0;}
0 0
原创粉丝点击