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