if / else if / else 조건문_220702
if 와 else 두가지만으로 case를 나누는 것이 아니라 세가지의 서로 겹치지 않는 case 로 분류하는 경우 else if 라는 구문을 이용하면, 상단 if 조건에 해당하지 않으면서 해당 else if 조건에 해당하는 경우에만 특정 코드를 수행하게 만들 수 있다.
형식
if (조건1) {
코드1
}
else if (조건2) {
코드2
}
else {
코드3
}
코드4
예제
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
if (a >= 10) {
cout << "A" << endl;
}
else if (a >= 5) {
cout << "B" << endl;
}
else {
cout << "C" << endl;
}
cout << "E";
return 0;
}
if, if, else if를 사용하게 되면, 맨 끝에 있는 else if는 두 번째 if 하고만 쌍을 이루게 된다.
if (조건1) {
코드1
}
if (조건2) {
코드2
}
else if (조건3) {
코드3
}
코드4
물의 상태
물의 온도를 정수로 입력받아 0℃ 미만일경우엔 ice
, 100℃ 이상일때는vapor
, 그 사이일때는 water
라고 출력하는 프로그램을 작성해주세요.
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
if (n<0) cout << "ice";
else if (n>= 100) cout << "vapor";
else cout << "water";
return 0;
}
시력검사 2
양쪽 눈 시력의 평균값을 실수(real number)로 입력받아 1.0 이상이면 High, 0.5 이상이면 Middle, 아니면 Low라고 출력하는 프로그램을 작성해주세요.
#include<iostream>
using namespace std;
int main(){
double n;
cin >> n;
if(n >= 1.0) cout << "High";
else if (n >= 0.5) cout << "Middle";
else cout << "Low";
return 0;
}
이상인지 초과인지 정확하게 확인하자
살 수 있는 물건
n만큼의 돈으로 살 수 있는 물건 중 가장 비싼 물건을 출력하는 프로그램을 작성해보세요.
물건 가격
book 3000
mask 1000
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
if(n >= 3000) cout << "book";
else if(n >= 1000) cout << "mask";
else cout << "no";
return 0;
}
if / elif / elif / else
else if라는 구문은 여러 번 사용이 가능합니다. else if문을 여러 번 사용하게 되면, 각 else if 당 상단 if과 모든 else if에 걸리지 않으면서 해당 else if 조건에 해당하는 경우에만 특정 코드를 수행하게 만들 수 있다.
if (조건1) {
코드1
}
else if (조건2) {
코드2
}
else if (조건3) {
코드3
}
else {
코드4
}
코드5
출석 부르기
A반의 출석번호 1번은 John, 2번은 Tom, 3번은 Paul입니다. 번호를 입력하면 해당하는 학생의 이름을 출력하는 프로그램을 작성하세요.
만약 해당 출석번호에 해당하는 학생이 없다면 Vacancy 라고 출력합니다.
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
if (n == 1) cout << "John";
else if (n == 2) cout << "Tom";
else if (n == 3) cout << "Paul";
else cout << "Vacancy";
return 0;
}
등급 매기기
시험점수에 따라 등급을
90점 이상을 A,
80점 이상을 B,
70점 이상을 C,
60점 이상을 D,
60점 미만을 F 라고 합니다.
점수를 입력받아 등급을 출력하는 프로그램을 작성해주세요.
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
if (n>=90) cout << "A";
else if (n>=80) cout << "B";
else if (n>=70) cout << "C";
else if (n>=60) cout << "D";
else cout << "F";
return 0;
}
알파벳에 따른 평가
영문 대문자를 입력받아
'S'이면 Superior,
'A'이면 Excellent,
'B'이면 Good,
'C'이면 Usually,
'D'이면 Effort,
그 외 문자이면 Failure 라고 출력하는 프로그램을 작성해주세요.
#include<iostream>
using namespace std;
int main(){
char n;
cin >> n;
switch (n){
case 'S':
cout << "Superior";
break;
case 'A':
cout << "Excellent";
break;
case 'B':
cout << "Good";
break;
case 'C':
cout << "Usually";
break;
case 'D':
cout << "Effort";
break;
default:
cout << "Failure";
break;
}
return 0;
}
살 수 있는 물건 2
n만큼의 돈으로 살 수 있는 물건 중 가장 비싼 물건을 출력하는 프로그램을 작성해보세요.
물건 가격
book 3000
mask 1000
pen 500
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
if (n>=3000) cout << "book";
else if(n>=1000) cout << "mask";
else if(n>=500) cout << "pen";
else cout << "no";
return 0;
}