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 ; }