티스토리 뷰
for
for문
for(A; B; C) {
B가 옳을 때까지 계속 반복
}
A : 초기값
B : 반복 조건식
C : 증가 또는 감소
반복 내용이 한 줄이라면 { } 생략 가능!
실습문제 1
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
cout << i << " 안녕하세요 " << endl;
}
return 0;
}
실행 결과
i가 0 ~ 9까지 10번 반복됨
실습문제 2
#include <iostream>
using namespace std;
int main() {
cout << " 프로그램 시작 " << endl;
for (int i = 0; i < 6; i += 2) {
cout << i << " 안녕하세요 " << endl;
cout << i << " hi " << endl;
}
cout << " 프로그램 종료 " << endl;
return 0;
}
실행 결과
0, 2, 4 => 3번 반복함
실습문제 3
i 활용
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
cout << i+1 << " 번째 손님입니다 " << endl;
}
return 0;
}
실행 결과
실습문제 4
1부터 2023까지의 정수의 합은 얼마인지 for문을 사용하여 계산하세요.
#include <iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i <= 2023; i++)
sum += i;
cout << "1부터 2023까지의 정수의 합은" << sum << "입니다" << endl;
return 0;
}
실행 결과
실습 문제 4 - 1
1부터 2023까지의 홀수인 정수의 합은 얼마인지 for문을 사용하여 계산하세요.
#include <iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i <= 2023; i++) {
if (i % 2 == 1)
sum += i;
}
cout << "결과는 " << sum;
return 0;
}
#include <iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i <= 2023; i+=2) {
// 1 3 5 7 9....
sum += i;
}
cout << "결과는 " << sum;
return 0;
}
실행 결과
이중 for 문
이중 for 문
for(A; B; C){
for(A';B';C'){
B'가 옳을 때까지 계속 반복
}
}
A, A' : 초기값
B, B' : 반복 조건식
C, C' : 증가 또는 감소
반복 내용이 한 줄이라면 { } 생략 가능(안쪽 이중 for문만 생략 가능)
실습문제 1
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
cout << i << j << "안녕하세요" << endl;
}
}
return 0;
}
출력결과
...
99안녕하세요까지 출력된다
두 숫자 중 앞이 i
뒤가 j 이다
실습문제 2
별찍기
#include <iostream>
using namespace std;
int main() {
// 5줄
for (int i = 0; i < 5; i++) {
// 한 줄에 별 5개
for (int j = 0; j < 5; j++) {
cout << "*";
}
cout << endl; // 줄바꿈
}
return 0;
}
출력 결과
j로 별 5개를 찍어줌
i로 줄바꿈 해줌
실습문제 3
#include <iostream>
using namespace std;
int main() {
// 5줄
for (int i = 0; i < 5; i++) {
// 1, 2, 3, 4, 5
// j는 i 이하다
// i = 0, j = 0 --> 1개 출력
// i = 1, j = 1 --> (0 , 1) 2개 출력
// i = 2, j = 2 --> (0 , 1, 2) 3개 출력
// i = 3, j = 3 --> (0 , 1, 2, 3) 4개 출력
// i = 4, j = 4 --> (0 , 1, 2, 3, 4) 5개 출력
for (int j = 0; j <= i; j++) {
cout << "*";
}
cout << endl;
}
return 0;
}
출력 결과
실습 문제 4
#include <iostream>
using namespace std;
int main() {
// 5줄
for (int i = 0; i < 5; i++) {
// 빈칸에 대한 for문
// 4칸 부터 시작(4, 3, 2, 1)
// i = 0, j = 4, 3, 2, 1 (4칸)
// i = 1, j = 4, 3, 2 (3칸)
// i = 2, j = 4, 3 (2칸)
// i = 3, j = 4 (1칸)
for (int j = 4; j > i; j--)
cout << " ";
// 별에 대한 for문
// j = 0, i = 0 (1개)
// j = 1, i = 0, 1 (2개)
// j = 2, i = 0, 1, 2 (3개)
// j = 3, i = 0, 1, 2, 3 (4개)
for (int j = 0; j <= i; j++)
cout << "*";
cout << endl;
}
return 0;
}
출력 결과
실습 문제 5
#include <iostream>
using namespace std;
int main() {
// 5줄
for (int i = 0; i < 5; i++) {
// i = 0, j = 0, 1, 2, 3, 4
// i = 1, j = 0, 1, 2, 3
// i = 2, j = 0, 1, 2
// i = 3, j = 0, 1
// i = 4, j = 0
for (int j = 0; j < (5 - i); j++)
cout << "*";
cout << endl;
}
return 0;
}
출력 결과
실습 문제 6
#include <iostream>
using namespace std;
int main() {
// 10줄
for (int i = 0; i < 10; i++) {
// 빈칸 for 문
// i = 0, j = 9 ~ 1 (9개)
// i = 1, j = 9 ~ 2 (8개)
// i = 2, j = 9 ~ 3 (7개) ....
// i = 9 (0개)
for (int j = 9; j > i; j--)
cout << " ";
// (2 * i + 1) : 홀수
// i = 0 , j = 0 (1개)
// i = 1 , j = 0, 1, 2 (3개)
// i = 2 , j = 0, 1, 2, 3, 4 (5개)
for (int j = 0; j < (2 * i + 1); j++)
cout << "*";
cout << endl;
}
return 0;
}
출력 결과
실습 문제 7
#include <iostream>
using namespace std;
int main() {
// 5줄
for (int i = 0; i < 5; i++) {
// 빈칸 for 문
// i = 0 (0개)
// i = 1, j = 0 (1개)
// i = 2, j = 0, 1 (2개)
// i = 3, j = 0, 1, 2 (3개)
// i = 4, j = 0, 1, 2, 3 (4개)
for (int j = 0; j < i; j++)
cout << " ";
// 별 for 문
// i = 0, j = 9 (0 ~ 8)
// i = 1, j = 7 (2 ~ 8)
// i = 2, j = 5 (4 ~ 8)
// i = 3, j = 3 (6 ~ 8)
// i = 4, j = 1 (8)
for (int j = 8; j >= (2 * i); j--)
cout << "*";
cout << endl;
}
return 0;
}
출력 결과
실습 문제 8
#include <iostream>
using namespace std;
int main() {
// 4줄
for (int i = 0; i < 4; i++) {
// 빈칸 for 문
// i = 0 , j = 4, 3, 2, 1 (4개)
// i = 1 , j = 4, 3, 2 (3개)
// i = 2 , j = 4, 3 (2개)
// i = 3 , j = 4 (1개)
// i = 4 (0개)
for (int j = 4; j > i; j--)
cout << " ";
// 별 for 문
// i = 0, j = 1개 (0)
// i = 1, j = 3개 (0, 1, 2)
// i = 2, j = 5개 (0, 1, 2, 3, 4)
// i = 3, j = 7개 (0, 1, 2, 3, 4, 5, 6)
for (int j = 0; j < (2 * i + 1); j++)
cout << "*";
cout << endl;
}
for (int i = 0; i < 5; i++) {
// 빈칸 for 문
// i = 0 (0개)
// i = 1, j = 0 (1개)
// i = 2, j = 0, 1 (2개)
// i = 3, j = 0, 1, 2 (3개)
// i = 4, j = 0, 1, 2, 3 (4개)
for (int j = 0; j < i; j++)
cout << " ";
// 별 for 문
// i = 0, j = 9개 (0 ~ 8)
// i = 1, j = 7개 (2 ~ 8)
// i = 2, j = 5개 (4 ~ 8)
// i = 3, j = 3개 (6 ~ 8)
// i = 4, j = 1개 (8)
for (int j = 8; j >= (2 * i); j--)
cout << "*";
cout << endl;
}
return 0;
}
출력 결과
실습 문제 9
1부터 100까지 수 중 5의 배수만 출력하세요.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 100; i++) {
// 5, 10, 15....
if(i % 5 == 0)
cout << i << endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main() {
for (int i = 5; i <= 100; i+=5) {
// 5, 10, 15....
cout << i << endl;
}
return 0;
}
출력 결과
'C++' 카테고리의 다른 글
함수의 선언 및 호출 (0) | 2024.12.05 |
---|---|
반복문(while, do while) (0) | 2024.12.05 |
조건문(if, if else, else if) (0) | 2024.10.12 |
연산자 (0) | 2024.10.10 |
변수와 자료형 (1) | 2024.10.09 |