소스코드

#include <stdio.h>
#include <stdlib.h>

int main (){
	int a, b, i;
	scanf("%d %d", &a, &b);
	char a1[4];
	char a2[4];
	char b1[4];
	char b2[4];
	
	sprintf(a1, "%d", a);
	sprintf(b1, "%d", b);
	
	for(i=0; i<3; i++){
		a2[2-i] = a1[i]; 
		b2[2-i] = b1[i];
	}
	a = atoi(a2);
	b = atoi(b2);
	
	int ans;
	if (a > b) ans = a;
	else if (a < b) ans = b;
	printf("%d", ans);
}

char 문자열을 선언할 때, 맨 뒷자리 null도 포함해 4자리를 선언해야 한다.

3자리 숫자를 저장하고 싶을 때는 4자리 선언.

atoi함수는 표준이다. 문자열 자릿수를 맞추지 못해서 틀림.

 

해설

우선 scan함수로 두 수를 받는다.

수를 뒤집을 때는 배열을 이용할 것이라서 배열 4개(두 수 각각 뒤집기 전, 후 4개) 를 크기 4로 선언해준다.

숫자를 배열로 변환 (sprintf) 한 뒤, for문을 이용해서 a, b 숫자 순서를 뒤집어 준다. 

배열을 다시 숫자로 변환 (atoi - stdlib.h 헤더파일 선언할 것) 한 뒤 크기 비교해서 더 큰 숫자를 출력하면 끝.

복사했습니다!