강의 정리/씨언어 백준

(미완) 10757 왜안됨이거

PurpleGuy101 2022. 2. 8. 14:40


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>



int main() {

int i;
char a[10000], b[10000];
char ra[10000] = { 0, }, rb[10000] = { 0, };
int rc[10001] = { 0, };

scanf("%s %s", &a, &b);


int lena = strlen(a);
for (i = 0; i < lena; i++) {
ra[i] = a[lena-i-1];
}
int lenb = strlen(b);
for (i = 0; i < lenb; i++) {
rb[i] = b[lenb - i - 1];
}


int maxlen = (strlen(ra) >= strlen(rb)) * strlen(ra) + (strlen(ra) < strlen(rb)) * strlen(rb) + 1;


for (i = 0; i < maxlen; i++) {

int temp;
if (((ra[i] >= '0') && (ra[i] <= '9')) && ((rb[i] >= '0') && (rb[i] <= '9'))) {
temp = ra[i]-'0' + rb[i]-'0';
}
else if (((ra[i] >= '0') && (ra[i] <= '9')) && !((rb[i] >= '0') && (rb[i] <= '9'))) {
temp = ra[i] - '0';
}
else if (!((ra[i] >= '0') && (ra[i] <= '9')) && ((rb[i] >= '0') && (rb[i] <= '9'))) {
temp = rb[i] - '0';
}
else {
temp = 0;
}

if ((temp + rc[i]) >= 10) {
rc[i + 1] += 1;
rc[i] += temp - 10;
}
else {
rc[i] += temp;
}
}

i = 10000;
int flag = 0;
while (i>=0) {

if (rc[i] != 0) {
flag = 1;
}

if (flag == 1) {
printf("%d", rc[i]);
}

i--;

}









return 0;
}