A + B Problema II HDU-1002 alta precisión

Tengo un problema muy simple para ti. Dados dos enteros A y B, su trabajo es calcular la Suma de A + B. 

Entrada La primera línea de la entrada contiene un número entero T (1 <= T <= 20) que significa el número de casos de prueba. Luego siguen las líneas T, cada línea consta de dos enteros positivos, A y B. Observe que los enteros son muy grandes, lo que significa que no debe procesarlos usando un entero de 32 bits. Puede suponer que la longitud de cada número entero no excederá 1000. 
Salida Para cada caso de prueba, debe generar dos líneas. La primera línea es "Caso #:", # significa el número del caso de prueba. La segunda línea es la ecuación "A + B = Suma", Suma significa el resultado de A + B. Tenga en cuenta que hay algunos espacios en la ecuación. Salida de una línea en blanco entre dos casos de prueba. 
Entrada de muestra

2 
1 2 
112233445566778899 998877665544332211

Salida de muestra

Caso 1: 
1 + 2 = 3 

Caso 2: 
112233445566778899 + 998877665544332211 = 1111111111111111110
#include <iostream>
 usando el  espacio de nombres estándar;
int main () 
{ 
    int T, n = 0 ; 
    cin >> T;
    mientras que (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 ;
        En ti = A, j = B, k = 0 ;
         while ( 1 ) 
        { 
            
            C = (a [i- 1 ] - ' 0 ' ); D = (b [j- 1 ] - ' 0 ' ); // Convertir Int tipo 
            if (i <= 0 ) C = 0 ; if (j <= 0 ) D = 0 ; 
            c [k] = (temp1 + C + D)% 10 ; // Registro 
            temp1 = (temp1 + C + D) / 10 ; // llevar
            i -; j-- ;
            si (i <= 0 && j <= 0 ) se rompe ; 
            k ++ ; 
        } 
        c [k + 1 ] = ' \ 0 ' ; 
        cout << " Caso " << ++ n << " : " << endl; // 注意 输出 格式 
        cout << a << " + " << b << " = " ;
        0 ; i--) // Invertir c salida 
            cout << c [i]; 
        cout << endl;
         if (T! = 0 ) cout << endl; // Hay una línea en blanco entre las dos salidas 
    }
     return  0 ; 
}

 

Supongo que te gusta

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