// 7-23 : while의 사용
#include <iostream>
using namespace std;
int main()
{
int i = 1;
int sum = 0;
while (i <= 10)
{
sum += i;
++i;
}
cout << i << "\n"; // 현재 i의 값
cout << sum << "\n"; // 1~10의 합
return 0;
}
/*
--- 결과 ---
11
55
*/
// 7-24 : while에 ++i 적용
#include <iostream>
using namespace std;
int main()
{
int i = 0; // i를 0에서 시작한다. 아래 while에서 더해지면서 시작하기 때문이다.
int sum = 0;
while (++i <= 10) // 전치와 후치 결과가 다르다. 더하고 비교하냐, 비교하고 더하냐이다.
{
sum += i;
}
cout << i << "\n"; // 현재 i의 값
cout << sum << "\n"; // 1~10의 합
return 0;
}
/*
조건 부분을 보라.
--- 결과 ---
11
55
*/
// 7-25 : 10부터 1까지 더하기
#include <iostream>
using namespace std;
int main()
{
int i = 11;
int sum = 0;
while (--i) // while (--1 != 0)과 같은 의미이다. 0이 되면 False가 된다는 점을 이용하였다.
{
sum += i;
}
cout << i << "\n"; // 현재 i의 값
cout << sum << "\n"; // 1~10의 합
return 0;
}
/*
조건 부분을 보라.
--- 결과 ---
0
55
*/
// 7-26 : break 사용
#include <iostream>
using namespace std;
int main()
{
int i = 1;
int sum = 0;
while (true) //
{
sum += i;
++i;
if (i > 10)
{
break;
}
}
cout << i << "\n"; // 현재 i의 값
cout << sum << "\n"; // 1~10의 합
return 0;
}
/*
break 사용하기.
--- 결과 ---
11
55
*/
// 7-27 : for의 사용
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
int i;
for (i = 1; i <= 10; ++i)
{
sum += i;
}
cout << i << "\n"; // 현재 i의 값
cout << sum << "\n"; // 1~10의 합
return 0;
}
/*
for문으로 바꾼거 밖에 없다.
--- 결과 ---
11
55
*/
// 7-28, 29 : for의 증가치 부분 사용하지 않기
/*
for문 증가치를 사용하지 않을 수 있다.
for(int i = 1; i <=10; )
{
sum += i;
++i;
}
*/
/*
초기화, 반복조건, 증가치 모두 사용하지 않을 수 있다.
int i = 1;
for(;;)
{
sum += i;
++i;
if( i > 10)
break;
}
*/
// 7-30 : 5를 제외한 1~10의 합 (continue)
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
int i;
for (i = 1; i <= 10; ++i)
{
if (5 == i) // 5라면 스킵한다.
{
continue;
}
sum += i;
}
cout << i << "\n"; // 현재 i의 값
cout << sum << "\n"; // 1~10의 합
return 0;
}
/*
continue 사용하기.
--- 결과 ---
11
50
*/
// 7-31 : for, while 실수
/*
while(i < 10) ;
과 같이 세미콜론 붙이면 무한루프에 빠진다.
다음의 코드와 동일하기 때문이다.
while(i < 10)
{
}
{
i++
}
*/
// 7-32 : 구구단 프로그램 (중첩 반복)
#include <iostream>
using namespace std;
int main()
{
for (int i = 2; i <= 9; ++i)
{
cout << i << "단 ------\n";
for (int j = 1; j <= 9; ++j)
{
cout << j << "x" << j << " = " << i * j << "\n";
}
}
return 0;
}
/*
중첩된 반복문을 활용하여, 구구단을 만든다.
i는 2~9까지 반복한다.
j는 1~9까지 반복한다.
*/
// 7-33 : do while 사용
#include <iostream>
using namespace std;
int main()
{
int i = 1;
int sum = 0;
do // while자리에 do가 온다.
{
sum += i;
++i;
} while (i <= 10); // 중괄호 끝에 while이 위치한다. 세미콜론 주의.
cout << i << "\n";
cout << sum << "\n";
}
/*
do while 사용
--- 결과 ---
11
55
*/
// 7-34, 35 : do while 사용하기 좋은 경우, while로만 구현하기
/* 7 - 34
do while 사용하기 좋은 경우는 다음과 같다.
int n; // 값을 받을 변수이다.
do
{
cin >> n; // 사용자로부터 값을 받는다.
} while(10 != n);
*/
/* 7 - 35
do while 대신 while로만 구현하면 다음과 같다.
cin >> n이 두 부분으로, 중복이 생긴다.
코드 수정시 두군데를 수정해야한다는 치명적 문제점이 있다.
int n;
cin >> n;
while(10 != n)
{
cin >> n;
}
*/
'C++ > 뇌를 자극하는 C++' 카테고리의 다른 글
[C++] 챕터 9 - 배열 : 변수를 여러개 모아 놓은 변수 (0) | 2023.04.25 |
---|---|
[C++] 챕터 8 - 성적표 프로젝트 Ver 1 (0) | 2023.04.25 |
[C++] 챕터 7-1 - 분기와 반복 : 프로그램의 흐름 조절 (0) | 2023.04.25 |
[C++] 챕터 6 - 연산자 : 정보를 가공하는 법 (1) | 2023.04.21 |
[C++] 챕터 5 - 타입 1 : 정보의 종류 (0) | 2023.04.20 |
댓글