입력 코드
#include <stdio.h>
main() {
int A, B;
scanf("%d %d", &A, &B);
int rA = 0, rB = 0;
while (A != 0) {
rA *= 10;
rA += A % 10;
A /= 10;
}
while (B != 0) {
rB *= 10;
rB += B % 10;
B /= 10;
}
if (rA > rB)
printf("%d\n", rA);
else
printf("%d\n", rB);
}
코드 설명
#반복문 #조건문 #배열 #정수거꾸로출력하기
#include <stdio.h>
main() {
int A, B;
scanf("%d %d", &A, &B);
int Anum[3], Bnum[3];
int i, j, ans;
for (i = 0; i < 3; i++) {
Anum[i] = A % 10;
A = A / 10;
}
for (j = 0; j < 3; j++) {
Bnum[j] = B % 10;
B = B / 10;
}
for (i = 0; i < 3; i++) {
if (Anum[i] > Bnum[i])
ans = Anum;
}
printf("%d\n", ans);
}
처음에는 A, B 두 수를 입력받고 거꾸로 읽는 수를 배열을 선언해서 몫과 나머지를 이용해서 만들려고 했다. 그런데 그렇게 하니까 마지막에 두 수의 크기를 비교하는 부분에서 너무 복잡해질 것 같았다.
#include <stdio.h>
main() {
int A, B;
scanf("%d %d", &A, &B);
int rA = 0, rB = 0;
while (A != 0) {
rA *= 10;
rA += A % 10;
A /= 10;
}
while (B != 0) {
rB *= 10;
rB += B % 10;
B /= 10;
}
if (rA > rB)
printf("%d\n", rA);
else
printf("%d\n", rB);
}
그래서 주어진 수를 뒤집는 방법을 이용해서 직접 비교했다.
↓↓↓ 참고한 사이트
[C/C++] 정수를 뒤집는 5가지 방법
목표는 간단하다. 입력 받은 정수를 거꾸로 뒤집은 정수를 출력하면 된다. 물론 뒤집었을 때 0으로 시작하는 경우는 0을 출력하지 않는다. 입력 예 1024 출력 예 4201 입력 예 12300 출력 예 321 1. 문자
doodle-ns.tistory.com
문제 출처
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
'C' 카테고리의 다른 글
#34. [백준_C언어] 1712 : 손익분기점 (0) | 2021.01.16 |
---|---|
#33. [백준_C언어] 5622 : 다이얼 (0) | 2021.01.16 |
#31. [백준_C언어] 1152 : 단어의 개수 (0) | 2021.01.16 |
#30. [백준_C언어] 1157 : 단어 공부 (0) | 2021.01.14 |
#29. [백준_C언어] 10809 : 알파벳 찾기 (0) | 2021.01.14 |