입력 코드
#include<stdio.h>
#define A 0
#define B 1
int calLength(char *str) {
int length = 0;
for (int i = 0; str[i] != NULL; i++) {
length++;
}
return length;
}
int main() {
char strA[10001], strB[10001], result[10002];
int len[2];
int longer, shorter;
int t = 0, i, j;
int sum, carry = 0;
scanf("%s %s", strA, strB);
len[A] = calLength(strA);
len[B] = calLength(strB);
if (len[A]>len[B]) {
longer = A, shorter = B;
}
else longer = B, shorter = A;
i = len[longer] - 1, j = len[shorter] - 1;
while (i >= 0) {
sum = 0;
if (longer == A) {
if (i >= 0) sum += strA[i] - '0';
if (j >= 0) sum += strB[j] - '0';
}
else {
if (i >= 0) sum += strB[i] - '0';
if (j >= 0) sum += strA[j] - '0';
}
sum += carry;
if (sum > 9) sum -= 10, carry = 1;
else carry = 0;
result[t++] = sum + '0';
i--, j--;
}
if (carry > 0) {
result[t] = carry + '0';
len[longer]++;
result[len[longer]] = NULL;
}
else {
result[len[longer]] = NULL;
}
for (int i = len[longer] - 1; i >= 0; i--) {
printf("%c", result[i]);
}
printf("\n");
return 0;
}
코드 설명
#배열
↓↓↓ 참고한 사이트
문제 출처
'C' 카테고리의 다른 글
#42. [백준_C언어] 4153 : 직각삼각형 (0) | 2021.01.21 |
---|---|
#41. [백준_C언어] 3009 : 네 번째 점 (0) | 2021.01.21 |
#39. [백준_C언어] 2839 : 설탕 배달 (0) | 2021.01.20 |
#38. [백준_C언어] 2775 : 부녀회장이 될테야 (0) | 2021.01.19 |
#37. [백준_C언어] 2869 : 달팽이는 올라가고 싶다 (0) | 2021.01.19 |