티스토리 뷰

C++

반복문(for, 이중 for문 - 별찍기)

yoooon1212 2024. 10. 21. 23:37

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함