https://www.acmicpc.net/step/4

 

if문 단계

점이 어느 사분면에 있는지 알아내는 문제

www.acmicpc.net

1330. 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

  • A가 B보다 큰 경우에는 '>'를 출력한다.
  • A가 B보다 작은 경우에는 '<'를 출력한다.
  • A와 B가 같은 경우에는 '=='를 출력한다.
    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    
    int main() {
    	int a, b;
    
    	scanf("%d %d", &a, &b);
    	
    	if (a > b) { printf(">"); }
    	if (a < b) { printf("<"); }
    	if (a == b) { printf("=="); }
    }​

9498. 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int a;
	scanf("%d", &a);
	
	if (a >=90) { printf("A"); }
	else if (a >= 80) { printf("B"); }
	else if (a >= 70) { printf("C"); }
	else if (a >= 60) { printf("D"); }
	else { printf("F"); }
	
}

2753. 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int a;
	scanf("%d", &a);
	
	if (a % 400 == 0) { //400의 배수의 값이 제일 적다.
		printf("1");
	}
	else if (a % 100 == 0) { //그 다음은 100의 배수이다.
		printf("0");
	}
	else if (a % 4 == 0) {
		printf("1");
	}
	else { printf("0"); } //윤년 조건을 모두 걸러냈으면 나머지는 모두 윤년이 아니다.
}

제일 조건이 까다로운 것(400의 배수)부터 시작하여 else if로 구분지었습니다.

 

14681. 사분면 고르기

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int x,y;
	scanf("%d", &x);
	scanf("%d", &y);
	
	if (x > 0) {
		if (y > 0) printf("1");
		if (y < 0) printf("4");
	}
	if (x < 0) {
		if (y > 0) printf("2");
		if (y < 0) printf("3");
	}
}

 

2884. 알람 시계

바로 "45분 일찍 알람 설정하기"이다.

이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다.

현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int h,m;
	scanf("%d %d",&h,&m);

	m = m - 45;

	if (m < 0) {
		m = 60 + m;
		h = h - 1;
		if (h < 0) { h = 24 + h; }
	}
	printf("%d %d", h, m);
} 
//if문으로 m>0, m<0, h<0일 때마다 printf를 썼는데 생각해보니 한 줄로 줄일 수 있었습니다.

 

+ Recent posts