A + B Problem II HDU-1002 de alta precisão

Eu tenho um problema muito simples para você. Dados dois inteiros A e B, seu trabalho é calcular a Soma de A + B. 

Entrada A primeira linha da entrada contém um número inteiro T (1 <= T <= 20), o que significa o número de casos de teste. Em seguida, seguem as linhas T, cada linha consiste em dois números inteiros positivos, A e B. Observe que os números inteiros são muito grandes, o que significa que você não deve processá-los usando um número inteiro de 32 bits. Você pode supor que o comprimento de cada número inteiro não exceda 1000. 
SaídaPara cada caso de teste, você deve gerar duas linhas. A primeira linha é "Case #:", # significa o número do caso de teste. A segunda linha é a equação an "A + B = Sum", Sum significa o resultado de A + B. Observe que existem alguns espaços na equação. Saída uma linha em branco entre dois casos de teste. 
Entrada de amostra

2 
1 2 
112233445566778899 998877665544332211

Saída de amostra

Caso 1: 
1 + 2 = 3 

Caso 2: 
112233445566778899 + 998877665544332211 = 11111111111111111110
#include <iostream>
 usando o  namespace std;
int main () 
{ 
    int T, n = 0 ; 
    cin >> T;
    while (T-- ) 
    { 
        char a [ 1005 ], b [ 1005 ]; int   c [ 1005 ]; 
        cin >> a >> b;
        int A, B, C, D; 
        A = strlen (a); 
        B = strlen (b);
        int temp1 = 0 ;
        inti = A, j = B, k = 0 ;
         while ( 1 ) 
        { 
            
            C = (a [i- 1 ] - ' 0 ' ); D = (b [j- 1 ] - ' 0 ' ); // Converter um tipo int 
            IF (I <= 0 ) C = 0 ; IF (J <= 0 ) D = 0 ; 
            C [K] = (temp1 + C + D)% 10 ; // ficha 
            temp1 = (temp1 + C + D) / 10 ; // transporte
            i -; j-- ;
            se (i <= 0 && j <= 0 ) quebrar ; 
            k ++ ; 
        } 
        c [k + 1 ] = ' \ 0 ' ; 
        cout << " Caso " << ++ n << " : " << endl; // 注意 输出 格式 
        cout << a << " + " << b << " = " ;
        0 ; i--) // Reverse c output 
            cout << c [i]; 
        cout << endl;
         if (T! = 0 ) cout << endl; // Existe uma linha em branco entre as duas saídas 
    }
     return  0 ; 
}

 

Acho que você gosta

Origin www.cnblogs.com/xxxsans/p/12757986.html
Recomendado
Clasificación