두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int plus = 0, tmp = 0;
string A, B, result;
cin >> A >> B;
if (A.size() < B.size())
{
swap(A, B);
}
for (int i = 1; i <= A.size(); i++)
{
int A_num = A[A.size() - i] - '0';
int B_num = B.size() - i < 0 ? 0 : B[B.size() - i] - '0';
tmp = A_num + B_num;
if (plus == 1)
{
tmp++;
plus = 0;
}
if (tmp >= 10)
{
tmp -= 10;
plus++;
}
result += tmp+'0';
}
if (plus)
result += plus + '0';
reverse(result.begin(), result.end());
cout << result;
}
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int plus = 0, tmp = 0;
string A, B, result;
cin >> A >> B;
if (A.size() < B.size())
{
swap(A, B);
}
for (int i = 1; i <= A.size(); i++)
{
int index_a = A.size() - i;
int index_b = B.size() - i;
char char_a = A[index_a];
char char_b = (index_b < 0 ? '0' : B[index_b]);
//int A_num = A[A.size() - i] - '0';
//int B_num = B.size() - i < 0 ? 0 : B[B.size() - i] - '0';
tmp = (char_a - '0') + (char_b - '0') ;
//tmp = A_num + B_num;
if (plus == 1)
{
tmp++;
plus = 0;
}
if (tmp >= 10)
{
tmp -= 10;
plus++;
}
result += tmp+'0';
}
if (plus)
result += plus + '0';
reverse(result.begin(), result.end());
cout << result;
}
💡참고