C++

[강의] 8월 28일 수업정리

k-codestudy 2024. 8. 28. 17:35

오늘의 수업은 주어진 예제를 풀어보았다.

 

1. 특정숫자를 입력을 받아 1부터 입력한 숫자까지 출력하자.

(0보다 큰 수를 입력하기로 하자)

#include <iostream>

int main() 
{
	int nInput{};
	int nData{ 1 };

	scanf_s("%d", &nInput);

	while(nInput >= nData)
	{
		printf("%d\n", nData);
		nData++;
	}
}
  • 정수형 변수인 nInput, nData 설정
  • scanf_s를 이용하여 nInput에 값을 입력받아 저장
  • while문을 사용하여 nData가 nInput 하고 똑같아질 때까지 반복하여 숫자를 출력.

2. 입력한 숫자를 데이터로 나눠서 약수를 구해라.

#include <iostream>

int main() 
{
	int nInput{};
	int nData{ 1 };
	int nRemainder{};

	scanf_s("%d", &nInput);

	while(nInput >= nData)
	{
		nRemainder = nInput % nData;
		if (nRemainder == 0)
			printf("%d\n", nData);

		nData++;
	}
}
  • 정수형 변수인 nInput, nData, nRemainder 설정
  • scanf_s를 이용하여 nInput에 값을 입력받아 저장
  • while문을 사용하여 nData가 nInput 하고 똑같아질 때까지 반복
  • while문 안에 nRemainder에 nInput % nData의 값을 저장
  • if문을 사용하여 nRemainder가 0이라면 그 nData값을 출력
  • 이후 참이든 거짓이든 nData의 값을 증가시킨 후 while문 처음으로 돌아가서 다시 반복

3. 숫자 2개를 입력받아 총합을 구해라.

Ex) 3과 7이 들어오면 3 ~ 7의 총합 / 10과 5가 들어오면 10 ~ 5의 총합

#include <iostream>

int main() 
{
	int nInput1{};
	int nInput2{};
	int nTotal{};
	int nMax{};
	int nMin{};

	scanf_s("%d", &nInput1);
	scanf_s("%d", &nInput2);

	if (nInput1 > nInput2) 
	{
		nMax = nInput1;
		nMin = nInput2;
	}
	else
	{
		nMax = nInput2;
		nMin = nInput1;
	}

	if (nMax != nMin)
	{
		while (nMax >= nMin)
		{
			nTotal += nMin;
			nMin++;
		}
	}
	else
		nTotal = nMax;

	printf("총합 : %d", nTotal);
}
  • 정수형 변수인 nInput1, nInput2, nTotal, nMax, nMin 설정
  • scanf_s를 이용하여 nInput1, nInput2에 값을 입력받아 저장
  • if를 사용하여 입력받은 값을 비교하여 큰 값은 nMax에 작은 값은 nMin에 저장
  • if를 사용하여 nMax와 nMin이 같지 않다면 while문이 nMin이 nMax와 같아질 때까지 반복하여 nTotal값에 nMin을 더하고 nMin값을 1씩 증가시킴
  • 만약 nMax와 nMin이 같다면 nTotal에 nMax를 넣는다. (같은 숫자라면 합은 그 숫자 자체이기 때문에)
  • pritnf를 사용하여 nTotal값 출력

'C++' 카테고리의 다른 글

[강의] 8월 30일 수업정리  (0) 2024.08.30
[강의] 8월 29일 수업정리  (0) 2024.08.29
[강의] 8월 27일 수업정리  (0) 2024.08.27
[강의] 8월 23일 수업정리  (1) 2024.08.23
[강의] 8월 22일 수업정리  (0) 2024.08.22