일지

JUNGOL...14

niamdank 2020. 10. 27. 20:52

Language_Code/반복제어문1/형성평가1


문제                                            

정수를 입력받아 1부터 입력받은 정수까지를 차례대로 출력하는 프로그램을 작성하시오.

 

입력 예                                        

5

 

출력 예                                        

1 2 3 4 5


FormativeLoop101.h

#include <iostream>

 

FormativeLoop101.cpp

void FormativeLoop101::Code()
{
	int var;

	std::cin >> var;

	for (int i = 1; i <= var; i++)
	{
		std::cout << i << ' ';
	}
}

 

Language_Code/반복제어문1/형성평가2


문제                                            

0 이상의 정수들이 공백으로 구분되어 반복적으로 주어진다.

0이 입력되면 반복문을 멈추고 그 전까지 입력받은 수들에 대하여

홀수의 개수와 짝수의 개수를 출력하는 프로그램을 작성하시오.

 

입력 예                                        

9 7 10 5 33 65 0

 

출력 예                                        

odd : 5

even : 1


FormativeLoop102.h

#include <iostream>

 

FormativeLoop102.cpp

void FormativeLoop102::Code()
{
	int var;
	int odd{ 0 }, even{ 0 };

	while (true)
	{
		std::cin >> var;

		if (var == 0)
		{
			break;
		}

		if (var % 2 == 0)
		{
			even++;
		}
		else
		{
			odd++;
		}
	}

	std::cout << "odd : " << odd << '\n';
	std::cout << "even : " << even;
}

 

Language_Code/반복제어문1/형성평가3


문제                                            

0 부터 100 까지의 점수를 계속 입력받다가 범위를 벗어나는 수가 입력되면 그 이전까지 입력된 자료의 합계와 평균을 출력하는 프로그램을 작성하시오. (평균은 반올림하여 소수 첫째자리까지 출력한다.)

 

입력 예                                        

55 100 48 36 0 101

 

출력 예                                        

sum : 239

avg : 47.8


FormativeLoop103.h

#include <iostream>

 

FormativeLoop103.cpp

void FormativeLoop103::Code()
{
	int var;
	int sum{ 0 }, count{ 0 };

	while (true)
	{
		std::cin >> var;
		
		if (var < 0 || 100 < var)
		{
			break;
		}

		sum += var;
		count++;
	}

	float avg{ static_cast<float>(sum) / count };

	std::cout.precision(1);
	std::cout.setf(std::ios::fixed);

	std::cout << "sum : " << sum << '\n';
	std::cout << "avg : " << avg;
}

 

Language_Code/반복제어문1/형성평가4


문제                                            

0 이 입력될 때까지 정수를 계속 입력받아 3의 배수와 5의 배수를 제외한 수들의 개수를 출력하는 프로그램을 작성하시오.

 

입력 예                                        

1 2 3 4 5 6 7 8 9 10 0

 

출력 예                                        

5


FormativeLoop104.h

#include <iostream>

 

FormativeLoop104.cpp

void FormativeLoop104::Code()
{
	int var;
	int count{ 0 };

	while (true)
	{
		std::cin >> var;

		if (var == 0)
		{
			break;
		}

		if (var % 3 != 0 && var % 5 != 0)
		{
			count++;
		}
	}

	std::cout << count;
}

 

Language_Code/반복제어문1/형성평가5


문제                                            

삼각형의 밑변의 길이와 높이를 입력받아 넓이를 출력하고, "Continue? "에서 하나의 문자를 입력받아 그 문자가 'Y' 나 'y' 이면 작업을 반복하고 다른 문자이면 종료하는 프로그램을 작성하시오.

 

(넓이는 반올림하여 소수 첫째자리까지 출력한다.)​

 

입·출력 예                                     

Base = 11

Height = 5

Triangle width = 27.5

Continue? Y

Base = 10

Height = 10

Triangle width = 50.0

Continue? N

 

Hint!

문자를 입력받을 때에는 %c 앞에 공백을 넣어 주어야 엔터, 공백과 같은 구분자를 입력받지 않고 한 개의 문자를 입력받을 수 있다. 예 : scanf(" %c", &문자변수);


FormativeLoop105.h

#include <iostream>

 

FormativeLoop105.cpp

void FormativeLoop105::Code()
{
	char ch{ 'Y' };
	int base, height;

	std::cout.precision(1);
	std::cout.setf(std::ios::fixed);

	while (ch == 'Y' || ch == 'y')
	{
		std::cout << "Base = ";
		std::cin >> base;

		std::cout << "Height = ";
		std::cin >> height;

		float width = base * height * 0.5f;
		std::cout << "Triangle width = " << width << '\n';

		std::cout << "Continue? ";
		std::cin >> ch;
	}
}

 

NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

 

NadanKim/CodingTest_JUNGOL

JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

github.com