Search

LV03 조건문의 다중 비교, for문

논리 연산자

논리 연산자는 주어진 논리식을 판단하여, 참 또는 거짓을 결정하는 연산자이다.
AND 연산자와 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
논리 연산자
설명
&&
논리식이 모두 참이면 1을 반환함. (논리 AND 연산)
||
논리식 중에서 하나라도 참이면 1을 반환함. (논리 OR 연산)
!
논리식의 결과가 참이면 0을, 거짓이면 1을 반환함. (논리 NOT 연산)
#include <iostream> int main() { int a = -1; if (a < 3) { if (a > 0) { } } // 논리 연산자 if (a < 3 && a > 0) { // && AND 연산자 : 두 조건 다 참일 때 참을 반환 } if (a < 3 || a > 0) { // || OR 연산자 : 두 조건 중 하나만 참이어도 참을 반환 } return 0; }
C++
복사

Else if 문

f 문 연결하기if-else 문을 함께 연결할 수 있다.#include <iostream>int main() { std::cout << "Enter a number: "; int x; std::cin >> x; if (x > 10) std::cout << x << "is greater than 10\n"; else if (x < 10) std::cout << x << "is less than 10\n"; else std::cout << x << "is exactly 10\n"; return 0; } 위 코드는 아래 예제와 같게 실행된다. #include <iostream>int main() { std::cout << "Enter a number: "; int x; std::cin >> x; if (x > 10) std::cout << x << "is greater than 10\n"; else { if (x < 10) std::cout << x << "is less than 10\n"; else std::cout << x << "is exactly 10\n"; } return 0; } 첫째,x > 10을 평가한다.true이면 "is greater than 10\n"이 출력되고 완료된다. 그렇지 않으면else 문이 실행된다. 해당else 문은중첩된 if 문 포함하고 있다.중첩된 if 문 안에서x < 10을 평가한다.
C++
복사

[반복문 (for)]

반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는
명령어 입니다.
프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용하는 문법중
하나이다.
"Hello World\n"를 10번 반복해서 출력하는 소스코드.
// 증가 반복문 for (int i = 0; i < 10; i++) { std::cout << i; } result -> 1, 2, 3, 4 ... // 감소 반복문 for (int i = 9; i > 0; i++ { std::cout << i; } result -> 9, 8, 7, 6 ...
C++
복사

연습 문제

문제 1번
숫자 1개를 입력 받으세요
만약 그 숫자가 10보다 같거나 크면
"WOW"
그렇지않으면
"OMG"
을 출력 해 주세요

입력 예시

10

출력 예시

WOW
문제 2번
숫자 2개를 입력 받고 큰 숫자가 어떤 숫자 인지 알려주는
프로그램을 만들어주세요
만약 3과 5를 입력하면 "큰수는 5"  출력
만약에 둘 다 같은수가 입력되면 "같은숫자" 출력

입력 예시

55 100

출력 예시

큰수는 100
문제 3번
숫자 하나를 입력 받으세요
만약 그 숫자가 5 이거나 10이면 "만세" 출력
그렇지 않으면 "재도전" 출력

입력 예시

10

출력 예시

만세
문제 4번
숫자 2개를 입력 받으세요
첫번째 숫자가 7이고 두번째 숫자가 9이면 "인증됨" 출력
그렇지 않으면 "재시도"를 출력 해 주세요

입력 예시

7 9

출력 예시

인증됨
문제 5번
숫자를 3부터 10까지 For문을 이용해서 출력 해 주세요
힌트
1부터 5까지 출력하는 for문
for (x=1; x<=5; x++)
{
//...
}

출력 예시

3
4
5
6
7
8
9
10
문제 6번
숫자 2개를 입력 받으세요 (두번째 숫자는 첫번째 숫자보다 큽니다)
첫번째 숫자부터 두번째 숫자 값 까지 출력 해 주세요
만약 2 4를 입력하셨으면
2 3 4 를 출력하시면 됩니다.
힌트
for (x=시작값; x<=끝값; x++)
{
//...
}

입력 예시

1 5

출력 예시

1
2
3
4
5
문제 7번
"PIZZAHOT" 이라는 문장을 25번 출력 하세요

출력 예시

PIZZAHOT
PIZZAHOT
PIZZAHOT
PIZZAHOT
PIZZAHOT
.
.
.
문제 8번
숫자 하나를 입력 받고 "##" 을 입력받은 숫자만큼 출력 해주세요.
ex)
입력: 3
출력:  ##
##
##

입력 예시

3

출력 예시

##
##
##
문제 9번
10 ~ 1까지 for문을 돌려 출력 해주세요

출력 예시

10 9 8 7 6 5 4 3 2 1
문제 10번
숫자 1개를 입력 받으세요
그 숫자에 2를 곱하고, 20을 더하고, 다시 5로 나눈 값이 100과 같지 않으면 (!=)
"Magic"이라는 글씨를 출력 하세요.

입력 예시

100

출력 예시

Magic
문제 11번
변수 a, b를 만들고 숫자를 각각 입력 받아주세요.
그리고 a부터 b까지의 숫자를 출력 해주세요.
ex1)
입력: 3 5
출력: 345
ex2)
입력: 2 6
출력: 23456

입력 예시

3 5

출력 예시

345
문제 12번
숫자 1개를 입력받으세요
0부터 입력받은 숫자까지 출력 해 주세요
만약 3을 입력하셨으면
0 1 2 3을 출력 하시면 됩니다.

입력 예시

5

출력 예시

0
1
2
3
4
5
문제 13번
숫자 3개를 입력 받아주세요
만약 숫자 3개의 합이 10보다 크면, 숫자 3개를 곱한 숫자를 출력 해 주세요
그렇지 않으면 0을 출력 해 주세요
ex)
1 2 10 을 입력받으면 숫자 합은 13이니까, 3개 숫자의 곱인 20을 출력하시면 됩니다.

입력 예시

1 2 10

출력 예시

20
문제 14번
숫자 한 개 를 입력받으세요
입력받은 숫자 부터 Count Down이 되는 과정을 출력 해 주세요.
그리고 마지막에는 "발사"를 출력해주시면 됩니다.

입력 예시

4

출력 예시

4
3
2
1
0
발사
문제 15번
5 ~ 5 까지 출력 해주세요.

출력 예시

5 -4 -3 -2 -1 0 1 2 3 4 5

복습 문제

문제 1번
3~8까지 출력해주세요.(for문 이용)

출력 예시

3 4 5 6 7 8
문제 2번
문제의 규칙을 찾아 아래와 같이 작동하는 프로그램을 만들어 주세요.
ex1)
숫자 입력: 3
출력: 333
444
555
ex2)
숫자 입력: 7
출력: 777
888
999

입력 예시

3

출력 예시

333
444
555
문제 3번
숫자 4개를 입력 받으세요
비밀번호는 1 2 3 4  입니다.
이 비밀번호가 맞다 면 "로그인성공" 출력
그렇지 않으면 "로그인실패" 출력
[TIP]  알아두세요
코딩하는 배우시는 분들이 자주 하는 실수입니다
숫자 4개를 입력 받을 때
콘솔창에
1234
이렇게 입력하면 안됩니다.
숫자1, 숫자2, 숫자3, 숫자4로 인식하지 않고,
1234 (천이백삼십사)로 숫자 1개로 인식합니다.
따라서 숫자 4개를 입력할 때는
1
2
3
4
또는
1 2 3 4
이렇게 입력해야 합니다.

입력 예시

1 2 3 4

출력 예시

로그인성공
문제 4번
숫자 하나를 입력 받아주세요.
아래의 규칙을 보고 for문을 사용해 값을 출력 해주세요.
ex1)
입력: 3
출력: 5 6 7
ex2)
입력: 5
출력: 7 8 9
ex3)
입력: 9
출력: 11 12 13

입력 예시

3

출력 예시

5 6 7
문제 5번
숫자 3개를 입력 받으세요
이중 첫 번째로 입력 받은 숫자가 나머지 숫자 2개 보다 큰 숫자인지
알려주는 프로그램을 작성 해 주세요
만약 3 5 1이 입력되면
"MAX아님" 출력
만약 5 1 2가 입력되면
"MAX발견" 출력
[HINT]
cin >> a >> b >> c;
조건문은 아래와 같은 내용을 넣어주시면 됩니다.
만약 a가 b보다 같거나 크고 동시에 a가 c보다 같거나 크면 MAX이다.

입력 예시

3 5 1

출력 예시

MAX아님
문제 6번
숫자 두 개를 입력 받으세요
그 숫자의 곱이 30 ~ 50 사이라면 (30 < x < 50)
"적당한 사이즈" 출력
그 숫자의 곱이 50보다 같거나 크면
"큰 사이즈" 출력
그 숫자의 곱이 30보다 같거나 작으면
"작은 사이즈" 출력
[TIP] C / C++ / Java에 없는 문법
if (30 < x < 60) //이건 불가능한 문법입니다!!
30보다 크고 동시에 60보다 작은 숫자를 표현하기 위해서는 이렇게 써주시면 됩니다.
if (x > 30 && x < 60)
이렇게 쓰시거나
if (30 < x && x < 60)
이렇게 쓰시면 됩니다!

입력 예시

6 6

출력 예시

적당한 사이즈
문제 7번
변수 a, x를 만들고, 각 변수에 숫자를 입력 받아주세요. (숫자 2개 입력)
a보다 작은 수를 x개 만큼 출력 해주세요.
ex)
a 입력 : 17
x 입력 : 3
17보다 작은 수 3개를 출력하면 됩니다.
출력결과 : 16 15 14

입력 예시

17 3

출력 예시

16 15 14
문제 8번
변수 a, b, c 에다가 숫자를 각각 1개씩 입력 받으세요.
a ~ b 까지
a ~ c 까지
출력하는 소스코드를 작성 해주세요.
ex)
3개의 숫자 입력: 3 5 9
a ~ b 출력: 3 4 5
a ~ c 출력: 3 4 5 6 7 8 9

입력 예시

3 5 9

출력 예시

3 4 5
3 4 5 6 7 8 9
문제 9번
1중 for문으로 아래와 같이 출력 하세요

출력 예시

9 6
8 5
7 4
6 3
문제 10번
숫자 하나를 입력 받아주세요.
아래의 규칙을 보고 소스코드를 작성해주세요.
ex1)
입력: 5
출력: 1 3 5 7 9
입력: 3
1 3 5

입력 예시

5

출력 예시

1 3 5 7 9
문제 11번
for문을 사용해 아래와 같이 출력되도록 소스코드를 작성해 주세요

출력 예시

시작
12345
종료
문제 12번
숫자 하나를 입력 받고
##
@@
을 입력받은 숫자만큼 출력 해 주세요.
ex)
입력: 2
출력:  ##
@@
##
@@

입력 예시

2

출력 예시

##
@@
##
@@
문제 13번
for문을 이용해 아래와 같이 출력 해주세요

출력 예시

1번go!!
2번go!!
3번go!!
4번go!!
5번go!!
문제 14번
숫자 2개(아이디, 비밀번호)를 입력 받아주세요
아이디는 1111, 비밀번호는 2222를 입력해야 로그인 처리가 완료됩니다.
만약 아이디가 틀렸으면 "아이디가 틀렸습니다" 출력
만약 아이디는 맞지만, 비밀번호가 틀렸으면 "비밀번호가 틀렸습니다" 출력
만약 아이디와 비밀번호가 모두 맞으면 "로그인성공" 출력

입력 예시

1111 2222

출력 예시

로그인성공
문제 15번
숫자 하나를 입력 받고, 입력받은 값부터 0까지 출력 해주세요.
ex1)
입력 : 5
출력 : 543210
ex2)
입력 : 3
출력 : 3210

입력 예시

5

출력 예시

543210

복습 문제

문제 1번
3~8까지 출력해주세요.(for문 이용)

출력 예시

3 4 5 6 7 8
문제 2번
문제의 규칙을 찾아 아래와 같이 작동하는 프로그램을 만들어 주세요.
ex1)
숫자 입력: 3
출력: 333
444
555
ex2)
숫자 입력: 7
출력: 777
888
999

입력 예시

3

출력 예시

333
444
555
문제 3번
숫자 4개를 입력 받으세요
비밀번호는 1 2 3 4  입니다.
이 비밀번호가 맞다 면 "로그인성공" 출력
그렇지 않으면 "로그인실패" 출력
[TIP]  알아두세요
코딩하는 배우시는 분들이 자주 하는 실수입니다
숫자 4개를 입력 받을 때
콘솔창에
1234
이렇게 입력하면 안됩니다.
숫자1, 숫자2, 숫자3, 숫자4로 인식하지 않고,
1234 (천이백삼십사)로 숫자 1개로 인식합니다.
따라서 숫자 4개를 입력할 때는
1
2
3
4
또는
1 2 3 4
이렇게 입력해야 합니다.

입력 예시

1 2 3 4

출력 예시

로그인성공
문제 4번
숫자 하나를 입력 받아주세요.
아래의 규칙을 보고 for문을 사용해 값을 출력 해주세요.
ex1)
입력: 3
출력: 5 6 7
ex2)
입력: 5
출력: 7 8 9
ex3)
입력: 9
출력: 11 12 13

입력 예시

3

출력 예시

5 6 7
문제 5번
숫자 3개를 입력 받으세요
이중 첫 번째로 입력 받은 숫자가 나머지 숫자 2개 보다 큰 숫자인지
알려주는 프로그램을 작성 해 주세요
만약 3 5 1이 입력되면
"MAX아님" 출력
만약 5 1 2가 입력되면
"MAX발견" 출력
[HINT]
cin >> a >> b >> c;
조건문은 아래와 같은 내용을 넣어주시면 됩니다.
만약 a가 b보다 같거나 크고 동시에 a가 c보다 같거나 크면 MAX이다.

입력 예시

3 5 1

출력 예시

MAX아님
문제 6번
숫자 두 개를 입력 받으세요
그 숫자의 곱이 30 ~ 50 사이라면 (30 < x < 50)
"적당한 사이즈" 출력
그 숫자의 곱이 50보다 같거나 크면
"큰 사이즈" 출력
그 숫자의 곱이 30보다 같거나 작으면
"작은 사이즈" 출력
[TIP] C / C++ / Java에 없는 문법
if (30 < x < 60) //이건 불가능한 문법입니다!!
30보다 크고 동시에 60보다 작은 숫자를 표현하기 위해서는 이렇게 써주시면 됩니다.
if (x > 30 && x < 60)
이렇게 쓰시거나
if (30 < x && x < 60)
이렇게 쓰시면 됩니다!

입력 예시

6 6

출력 예시

적당한 사이즈
문제 7번
변수 a, x를 만들고, 각 변수에 숫자를 입력 받아주세요. (숫자 2개 입력)
a보다 작은 수를 x개 만큼 출력 해주세요.
ex)
a 입력 : 17
x 입력 : 3
17보다 작은 수 3개를 출력하면 됩니다.
출력결과 : 16 15 14

입력 예시

17 3

출력 예시

16 15 14
문제 8번
변수 a, b, c 에다가 숫자를 각각 1개씩 입력 받으세요.
a ~ b 까지
a ~ c 까지
출력하는 소스코드를 작성 해주세요.
ex)
3개의 숫자 입력: 3 5 9
a ~ b 출력: 3 4 5
a ~ c 출력: 3 4 5 6 7 8 9

입력 예시

3 5 9

출력 예시

3 4 5
3 4 5 6 7 8 9
문제 9번
1중 for문으로 아래와 같이 출력 하세요

출력 예시

9 6
8 5
7 4
6 3
문제 10번
숫자 하나를 입력 받아주세요.
아래의 규칙을 보고 소스코드를 작성해주세요.
ex1)
입력: 5
출력: 1 3 5 7 9
입력: 3
1 3 5

입력 예시

5

출력 예시

1 3 5 7 9
문제 11번
for문을 사용해 아래와 같이 출력되도록 소스코드를 작성해 주세요

출력 예시

시작
12345
종료
문제 12번
숫자 하나를 입력 받고
##
@@
을 입력받은 숫자만큼 출력 해 주세요.
ex)
입력: 2
출력:  ##
@@
##
@@

입력 예시

2

출력 예시

##
@@
##
@@
문제 13번
for문을 이용해 아래와 같이 출력 해주세요

출력 예시

1번go!!
2번go!!
3번go!!
4번go!!
5번go!!
문제 14번
숫자 2개(아이디, 비밀번호)를 입력 받아주세요
아이디는 1111, 비밀번호는 2222를 입력해야 로그인 처리가 완료됩니다.
만약 아이디가 틀렸으면 "아이디가 틀렸습니다" 출력
만약 아이디는 맞지만, 비밀번호가 틀렸으면 "비밀번호가 틀렸습니다" 출력
만약 아이디와 비밀번호가 모두 맞으면 "로그인성공" 출력

입력 예시

1111 2222

출력 예시

로그인성공
문제 15번
숫자 하나를 입력 받고, 입력받은 값부터 0까지 출력 해주세요.
ex1)
입력 : 5
출력 : 543210
ex2)
입력 : 3
출력 : 3210

입력 예시

5

출력 예시

543210