程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ—題目1198:a+b(高精度計算)

九度OJ—題目1198:a+b(高精度計算)

編輯:C++入門知識

九度OJ—題目1198:a+b(高精度計算)


題目描述:

實現一個加法器,使其能夠輸出a+b的值。

輸入:

輸入包括兩個數a和b,其中a和b的位數不超過1000位。

輸出:

可能有多組測試數據,對於每組數據,
輸出a+b的值。

樣例輸入:
2 6
10000000000000000000 10000000000000000000000000000000
樣例輸出:
8
10000000000010000000000000000000
來源:
2010年華中科技大學計算機研究生機試真題 答疑:
解題遇到問題?分享解題心得?討論本題請訪問:http://t.jobdu.com/thread-7921-1-1.html


    #include  
    #include  
           
    #define Max 1001//有進位1001 
     
    int bigNumAdd(char a[],char b[],char sum[]) 
    {
        int i=0; 
        int c=0;//表示進位 
     
        //清0
        char m[Max]={0}; 
        char n[Max]={0};
        memset(sum,0,1001); 
           
        //字符串反轉且字符串變數字 
        int lenA=strlen(a); 
        int lenB=strlen(b);
                
        int result_len = (lenA > lenB)?lenA:lenB; 
     
        for (i=0;i=0; i--) 
        { 
            printf("%c",sum[i]); 
        }  
    }
     
    int main() 
    {
        char a[Max]; 
        char b[Max]; 
        char sum[Max]; 
     
        while(scanf("%s%s",a,b)!=EOF)
        {
            print(sum,bigNumAdd(a,b,sum));
            printf("\n");
        }
        return 0; 
    } 
     
           
      
    /**************************************************************
        Problem: 1198
        User: vhreal
        Language: C
        Result: Accepted
        Time:90 ms
        Memory:912 kb
    ****************************************************************/



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved