보관함

JUNGOL 기초다지기 02 입력

niamdank 2019. 11. 12. 23:28

프로그래밍에서 가장 기초적인 내용을 다루는 기초 다지기입니다.

이번 포스팅은 기초 다지기 중 두 번째인 입력 문제를 풀어보도록 하겠습니다.

 

기초 내용인 만큼 다른 설명없이 문제와 코드만 간단하게 작성하도록 하겠습니다.


509 : 입력 - 자가진단1

#include <iostream>

using namespace std;

int main(void)
{
	int var = -100;

	cout << var << endl;
}

 

510 : 입력 - 자가진단2

#include <iostream>

using namespace std;

int main(void)
{
	int var1 = -1, var2 = 100;

	cout << var1 << endl;
	cout << var2 << endl;
}

 

511 : 입력 - 자가진단3

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	var1 = 55;
	var2 = 10;

	cout << var1 << " - " << var2 << " = " << var1 - var2 << endl;

	var1 = 2008;
	var2 = 1999;

	cout << var1 << " - " << var2 << " = " << var1 - var2 << endl;
}

 

512 : 입력 - 자가진단4

 

이번 문제에서 주목해야 할 부분은 소수점 자리수가 6개가 표시되고 있다는 점입니다.

그러므로 소수점 이하 6자리가 고정적으로 표시되도록 설정해줘야 합니다.

#include <iostream>

using namespace std;

int main(void)
{
	int weight = 49;
	float gValue = 0.2683f;

	cout.setf(ios::fixed);
	cout.precision(6); // 소수점 이하 6자리 표시
	cout << weight << " * " << gValue << " = " << weight * gValue << endl;
}

 

513 : 입력 - 자가진단5

 

문제의 출력 예를 살펴보면 두 줄의 끝이 맞춰져 있는 것을 알 수 있다.

즉, 출력에 포맷을 지정해야 한다. C++에서는 <iomanip>을 include하여 포맷의 지정이 가능하다.

#include <iostream>
#include <iomanip>

using namespace std;

int main(void)
{
	const float yd2cm = 91.44f;
	const float in2cm = 2.54f;

	cout.setf(ios::fixed);
	cout.precision(1); // 소수점 이하 1자리 표시

	cout.fill(' ');

	float myYard = 2.1f;
	cout << setw(4) << myYard << "yd = " 
		<< setw(5) << myYard * yd2cm << "cm" << endl;

	float myInch = 10.5f;
	cout << setw(4) << myInch << "in = "
		<< setw(5) << myInch * in2cm << "cm" << endl;
}

 

514 : 입력 - 자가진단6

#include <iostream>

using namespace std;

int main(void)
{
	int height;

	cout << "height = ";
	cin >> height;

	cout << "Your height is " << height << "cm." << endl;
}

 

515 : 입력 - 자가진단7

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	cout << var1 << " * " << var2 << " = " << var1 * var2 << endl;
	cout << var1 << " / " << var2 << " = " << var1 / var2 << endl;
}

 

516 : 입력 - 자가진단8

#include <iostream>

using namespace std;

int main(void)
{
	double var1, var2;
	char ch;

	cin >> var1 >> var2 >> ch;

	cout.setf(ios::fixed);
	cout.precision(2); // 소수점 자리수 설정

	cout << var1 << endl
		<< var2 << endl
		<< ch << endl;
}

 

517 : 입력 - 자가진단9

#include <iostream>

using namespace std;

int main(void)
{
	double var1, var2, var3;

	cin >> var1 >> var2 >> var3;

	cout.setf(ios::fixed);
	cout.precision(3); // 소수점 자리수 설정

	cout << var1 << endl
		<< var2 << endl
		<< var3 << endl;
}

 

106 : 입력 - 형성평가1

#include <iostream>

using namespace std;

int main(void)
{
	int var1 = 10, var2 = 20, var3 = 30;

	cout << var1 << " + " << var2 << " = " << var3 << endl;
}

 

107 : 입력 - 형성평가2

 

이 문제도 마찬가지로 여러가지 출력 옵션을 설정해 줘야합니다.

#include <iostream>
#include <iomanip>

using namespace std;

int main(void)
{
	float var1 = 80.5f, var2 = 22.34f;

	cout.right; // 오른쪽 정렬
	cout.setf(ios::fixed);
	cout.precision(2); // 소수점 자리수 설정
	cout << setw(10) << var1 << setw(10) << var2 <<
		setw(10) << var1 + var2 << endl;
}

 

108 : 입력 - 형성평가3

 

이 문제는 소수점 이하 2자리로 출력한 이후 다시 소수점 자리수를 0으로 만들어 결과를 출력하는 방법과 정수형으로 형 변환하여 소수점이 출력되지 않도록 하는 방식이 있을 수 있습니다.

 

저는 정수로 캐스팅하여 소수점을 제거했습니다.

#include <iostream>

using namespace std;

int main(void)
{
	int var1 = 50;
	float var2 = 100.12f;

	cout.setf(ios::fixed);
	cout.precision(2);	// 소수점 자리수 설정

	cout << var2 << " * " << var1 << " = " << static_cast<int>(var2 * var1) << endl;
}

 

109 : 입력 - 형성평가4

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2, var3;

	cin >> var1 >> var2 >> var3;

	int sum = var1 + var2 + var3;
	int avg = sum / 3;

	cout << "sum = " << sum << endl;
	cout << "avg = " << avg << endl;
}

 

110 : 입력 - 형성평가5

#include <iostream>

using namespace std;

int main(void)
{
	const double yd2cm = 91.44f;

	double myYard;

	cout << "yard? ";
	cin >> myYard;

	cout.setf(ios::fixed);
	cout.precision(1); // 소수점 자리수 지정

	cout << myYard << "yard = " << myYard * yd2cm << "cm" << endl;
}

 

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&sca=1020

 

JUNGOL | 문제은행 1 페이지

 

www.jungol.co.kr