用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

hdoj1002大数

2013-01-24 作者: shiqiang举报

[c++]代码库

#include<iostream>
using namespace std;
 
int main(){
    int a;
    cin>>a;
    char ch_arr1[1005], ch_arr2[1005];
    int ch_arr3[1005];
     
    for(int i = 0; i < a; i++){
        cin>>ch_arr1>>ch_arr2;
         
        //char *ch_arr3, *ch_arr4;
        int ch_arr1_len, ch_arr2_len;
        ch_arr1_len = strlen(ch_arr1);
        ch_arr2_len = strlen(ch_arr2);
         
         
        int ch_arr3_index;
        if(ch_arr1_len > ch_arr2_len){
            ch_arr3_index = ch_arr1_len + 1;
        }else{
            ch_arr3_index = ch_arr2_len + 1;
        }
 
        ch_arr1_len--;
        ch_arr2_len--;
        ch_arr3_index--;
        int temp = ch_arr3_index;//用于后面的打印
        memset(ch_arr3, 0, sizeof(int)*1005);//先置为0
        for( ; ch_arr1_len >= 0 && ch_arr2_len >= 0;
            ch_arr1_len--, ch_arr2_len--, ch_arr3_index--){//for start
            ch_arr3[ch_arr3_index] = ch_arr3[ch_arr3_index] + (ch_arr1[ch_arr1_len] - '0')
                + (ch_arr2[ch_arr2_len] - '0');
            if(ch_arr3[ch_arr3_index] >= 10){
                ch_arr3[ch_arr3_index] %= 10;
                ch_arr3[ch_arr3_index - 1] = 1;
            }
        }//for end.
        while(ch_arr1_len != -1){
            ch_arr3[ch_arr3_index] = ch_arr3[ch_arr3_index] + (ch_arr1[ch_arr1_len] - '0');
            if(ch_arr3[ch_arr3_index] >= 10){
                ch_arr3[ch_arr3_index] %= 10;
                ch_arr3[ch_arr3_index - 1] = 1;
            }
            ch_arr1_len--;
            ch_arr3_index--;
        }
        while(ch_arr2_len != -1){
            ch_arr3[ch_arr3_index] = ch_arr3[ch_arr3_index] + (ch_arr2[ch_arr2_len] - '0');
            if(ch_arr3[ch_arr3_index] >= 10){
                ch_arr3[ch_arr3_index] %= 10;
                ch_arr3[ch_arr3_index - 1] = 1;
            }
            ch_arr2_len--;
            ch_arr3_index--;
        }
        cout<<"Case "<<i + 1<<":"<<endl;
        cout<<ch_arr1<<" + "<<ch_arr2<<" = ";
        if(ch_arr3[0]){
            cout<<ch_arr3[0];
        }
        for(int k = 1; k <= temp; k++){
            cout<<ch_arr3[k];
        }
        if(i < a - 1){
            cout<<endl<<endl;
        }else{
            cout<<endl;
        }
    }
    return 0;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...