예제를 통해 if문과 반복문을 연습함
예제1. 모든 약수의 갯수를 출력하는 프로그램
( 1보다 큰 정수를 입력받아 그 수의 약수 개수를 출력하라.)
#include <iostream>
int main()
{
int nNumber{ 1 };
int nInput{};
int nRemainder{};
int nMeasureCount{};
scanf_s("%d", &nInput);
while (nNumber <= nInput)
{
nRemainder = nInput % nNumber;
if (nRemainder == 0)
nMeasureCount++;
nNumber++;
}
printf("약수의 갯수 : %d", nMeasureCount);
}
- nNumber, nInput, nRemainder, nMeasureCount라는 정수형 변수를 생성, nNumber는 1로 고정
- scanf_s를 이용하여 nInput에 입력한 값을 저장
- while문을 사용하여 nNumber가 nInput 보다 작거나 같을 때까지 반복한다.
- nRemainder에 nInput에서 nNumber를 나눈값을 저장
- if문을 사용하여 nRemainder == 0 이라면 nMeasuerCount를 1증가시킨다 ( 즉, 약수를 찾는다 )
- nNumber를 1증가시키고 반복
- prtinf로 nMeasuerCount값을 출력 ( 최종적으로 약수의 개수를 출력)
예제2. 소수점 20자리까지 출력하는 프로그램
( 1보다 큰 두 개의 정수를 입력받아 소수점 20자리까지 출력하라. )
#include <iostream>
int main()
{
int nNumber{};
int nInput1{};
int nInput2{};
int nQuotient{};
int nRemainder{};
scanf_s("%d", &nInput1);
scanf_s("%d", &nInput2);
while (nNumber < 20)
{
nQuotient = nInput1 / nInput2;
nRemainder = nInput1 % nInput2;
printf("%d\n", nQuotient);
nInput1 = nRemainder * 10;
nNumber++;
}
}
- 정수형 변수 nNumber, nInput1, nInput2, nQuotient, nRemainder 를 생성
- scanf_s를 이용하여 nInput1, nInput2에 입력한 값을 저장
- while문을 사용하여 nNumber부터 20보다 작을 때까지 반복
- nQutient에 nInput1에서 nInput2를 나눠 몫을 nRemainder에 나머지를 저장
- printf를 사용하여 nQuotient값을 출력 (소수점 표현을 위해서)
- nInput1에 nRemainder * 10한 값을 저장
- nNumber를 1 증가시킨후 반복
추가 설명
- 기본 개념:
- C언어는 0부터 카운팅을 시작한다.
- 반복문에서는 반복 횟수가 중요하며, 내부 로직의 처리 결과가 아닌 전체 반복 횟수를 잘 조정해야 한다.
- while문 안에서 조건문에 사용된 변수는 그 블록 내에서만 그 임무를 수행하며, 다른 곳에서 사용하면 안 된다.
- 리팩토링:
- 결과의 변경 없이 코드 구조를 개선하는 과정이다. 단순히 이름을 바꾸는 정도는 리팩토링으로 보지 않는다.
'C++' 카테고리의 다른 글
[강의] 9월 3일 수업정리 (1) | 2024.09.04 |
---|---|
[강의] 8월 30일 수업정리 (0) | 2024.08.30 |
[강의] 8월 28일 수업정리 (1) | 2024.08.28 |
[강의] 8월 27일 수업정리 (0) | 2024.08.27 |
[강의] 8월 23일 수업정리 (1) | 2024.08.23 |