입력 코드
#include <stdio.h>
main() {
int x, y, w, h;
int d[4];
scanf("%d %d %d %d", &x, &y, &w, &h);
d[0] = x;
d[1] = y;
d[2] = w - x;
d[3] = h - y;
int i, min;
for (i = 0; i < 3; i++) {
if (d[i] <= d[i + 1]) {
min = d[i];
d[i + 1] = min;
}
else
min = d[i+1];
}
printf("%d\n", min);
}
코드 설명
입력, 반복문과 조건문을 이용하는 문제
#include <stdio.h>
main() {
int x, y, w, h;
scanf("%d %d %d %d", &x, &y, &w, &h);
int d[4] = { x, y, w - x, h - y };
int i, min;
for (i = 0; i < 4; i++) {
if (d[i] > d[i + 1])
min = d[i + 1];
}
printf("%d\n", min);
}
처음에는 이렇게 각 경계선까지의 거리를 배열에 넣고 비교하는 걸로 작성을 했는데 출력이 제대로 되지 않았다.
#include <stdio.h>
main() {
int x, y, w, h;
int d[4];
scanf("%d %d %d %d", &x, &y, &w, &h);
d[0] = x;
d[1] = y;
d[2] = w - x;
d[3] = h - y;
int i, min;
for (i = 0; i < 3; i++) {
if (d[i] <= d[i + 1]) {
min = d[i];
d[i + 1] = min;
}
else
min = d[i+1];
}
printf("%d\n", min);
}
반복문에서 i=3까지 해서 밑에 조건문에서 d[4]랑 비교하면서 에러가 난 것 같다.
↓↓↓ 참고한 사이트
문제 출처
'C' 카테고리의 다른 글
#19. [백준_C언어] 2798 : 블랙잭 (0) | 2021.01.08 |
---|---|
#18. [백준_C언어] 1259 : 팰린드롬수 (0) | 2021.01.07 |
#16. [백준_C언어] 11720 : 숫자의 합 (0) | 2021.01.06 |
#15. [백준_C언어] 11654번 : 아스키 코드 (0) | 2021.01.06 |
#14. [백준_C언어] 10952번 : A+B -5 (0) | 2021.01.06 |