Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

이것저것

C언어 백준 2908 - 상수 본문

Language/C언어

C언어 백준 2908 - 상수

olivia-com 2020. 11. 20. 10:03

https://www.acmicpc.net/problem/2908

 

2908번: 상수

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두

www.acmicpc.net

[문제]

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.

[입력]

첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.

[출력] 셋째 줄에 상수의 대답을 출력한다.

[예제 입력] 734 893

[예제 출력] 437

#include <stdio.h>

int math_answer(int* a, int* b);

int main(void) {
	int num1, num2;
	scanf_s("%d %d", &num1, &num2);
	math_answer(&num1, &num2);
	if (num1 > num2)
		printf("%d", num1);
	else
		printf("%d", num2);
	return 0;
}

int math_answer(int* a, int* b) {
	int opp1 = 0, opp2 = 0;
	int i, j = 1, divide = 100;
	for (i = 0; i < 3; i++) {
		opp1 += (*a / divide) * j;
		opp2 += (*b / divide) * j;
		*a %= divide;
		*b %= divide;
		divide /= 10;
		j *= 10;
	}
	*a = opp1;
	*b = opp2;
}
​

'Language > C언어' 카테고리의 다른 글

C언어 포인터 & 배열  (0) 2020.11.21
C언어 포인터 사용해 swap  (0) 2020.11.21
C언어 백준 4673 - 셀프 넘버  (0) 2020.11.20
C언어 백준 1065 - 한수  (0) 2020.11.20
C언어 백준 1120 변형  (0) 2020.11.20