목차 : https://wondangcom.tistory.com/2797
마법의 점수
옛날 옛적에, 점수 마을에 사는 마법사들이 있었습니다. 이 마법사들은 학생들의 점수를 보고 그들의 성적을 마법으로 평가할 수 있었어요. 어느 날, 마법사들은 학생들의 점수를 입력하면 그 점수에 따라 성적을 알려주는 마법의 책을 만들기로 했습니다.
마법의 책은 다음과 같은 규칙을 가지고 있었어요:
- 점수가 90점 이상이면 "A 등급입니다!"라고 말합니다.
- 점수가 80점 이상 90점 미만이면 "B 등급입니다!"라고 말합니다.
- 점수가 70점 이상 80점 미만이면 "C 등급입니다!"라고 말합니다.
- 점수가 60점 이상 70점 미만이면 "D 등급입니다!"라고 말합니다.
- 그 외의 점수라면 "F 등급입니다."라고 말합니다.
위의 내용을 프로그래밍으로 표현해 보면 다음과 같습니다.
C언어
#include <stdio.h>
int main(void) {
int score;
printf("점수를 입력해 주세요: ");
scanf("%d", &score);
if (score >= 90) {
printf("A 등급입니다!\n");
} else if (score >= 80) {
printf("B 등급입니다!\n");
} else if (score >= 70) {
printf("C 등급입니다!\n");
} else if (score >= 60) {
printf("D 등급입니다!\n");
} else {
printf("F 등급입니다.\n");
}
return 0;
}
if(score>=90){ printf("A");}
if(score>=80){ printf("B"); }
이렇게 if ... if 문에서는 score 가 100이 입력되는 경우 AB 와 같이 두개가 모두 출력이 되지만
if(score>=90){ printf("A");}
else if(score>=80){ printf("B"); }
이렇게 if ... else if 문에서는 A만 출력 됩니다.
큰 것을 먼저 골라 내고 그 다음을 골라내는 체를 치는 형식처럼 여러개의 조건에서 하나만 실행하고 싶을 때 else if 문을 사용하게 됩니다.
C++
#include <iostream>
int main() {
int score;
std::cout << "점수를 입력해 주세요: ";
std::cin >> score;
if (score >= 90) {
std::cout << "A 등급입니다!\n";
} else if (score >= 80) {
std::cout << "B 등급입니다!\n";
} else if (score >= 70) {
std::cout << "C 등급입니다!\n";
} else if (score >= 60) {
std::cout << "D 등급입니다!\n";
} else {
std::cout << "F 등급입니다.\n";
}
return 0;
}
c언어와 동일합니다.
Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("점수를 입력해 주세요: ");
int score = scanner.nextInt();
if (score >= 90) {
System.out.println("A 등급입니다!");
} else if (score >= 80) {
System.out.println("B 등급입니다!");
} else if (score >= 70) {
System.out.println("C 등급입니다!");
} else if (score >= 60) {
System.out.println("D 등급입니다!");
} else {
System.out.println("F 등급입니다.");
}
scanner.close();
}
}
C언어와 동일합니다.
Python
score = int(input("점수를 입력해 주세요: "))
if score >= 90:
print("A 등급입니다!")
elif score >= 80:
print("B 등급입니다!")
elif score >= 70:
print("C 등급입니다!")
elif score >= 60:
print("D 등급입니다!")
else:
print("F 등급입니다.")
else if 대신에 elif 를 사용합니다.
결론
if ... else if ... 문은 여러 조건 중에서 단 하나만 실행 하고 싶을 때 사용합니다.
단, 순서대로 큰 것 부터 작은 순서(또는 작은것 부터 큰것)로 순차적으로 비교해 주어야 정확한 답을 얻을 수 있습니다.
'프로그래밍언어문법(C,C++,Python,JAVA)' 카테고리의 다른 글
4.4 신호등 왕국 (6) | 2024.10.15 |
---|---|
4.2 코디와 마법의 성문 (6) | 2024.09.04 |
4.2 마법의 성적표 (5) | 2024.07.17 |
4.1 용과 마을의 보물 (4) | 2024.07.02 |
3.5 토끼와 거북이의 미로 탈출 (5) | 2024.06.20 |