끝나지 않는 프로그래밍 일기

1011>

#include <iostream>
using namespace std;

int main()
{
	int a;
	cin >> a;

	cout.setf(ios::uppercase);
	cout << oct << a << " " << hex << a;

	return 0;
}

setf를 통해 대문자로 출력하도록 플래그를 설정한 뒤에, 8진수(oct), 16진수(hex)를 차례대로 출력합니다.


1012>

#include <iostream>
using namespace std;

int main()
{
	char a;
	cin >> a;
	cout << a;

	return 0;
}

문자를 입력받고 그 문자를 그대로 출력합니다. 설명이 필요없는 문제.


1013>

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string a;
	
	cin >> a;
	cout << a;

	return 0;
}

문자열을 입력받기 위해 string를 포함시킵니다. string을 포함시키는 것만으로도 연산자 오버로딩에 관한 문제를 해결할 수 있습니다.


1014>

#include <iostream>
using namespace std;

int main()
{
	int day;
	
	cin >> day;
	cout << day * 24;

	return 0;
}

사용자로부터 일(day)의 값을 입력받아, 시간으로 변환합니다. 하루는 24시간에 해당하므로, 그대로 24를 곱하면 됩니다.


1015>

#include <iostream>
using namespace std;

int main()
{
	float a, b, c;
	
	cin >> a >> b >> c;
	cout.precision(2);
	cout << fixed << (a + b + c)/3;

	return 0;
}

2자리로 고정시키고, fixed를 통해 소수 둘째자리까지 표현하게 합니다. 그리고 평균은 총점을 갯수로 나누면 됩니다.


1016>

#include <iostream>
using namespace std;

int main()
{
	float a;
	
	cin >> a;
	cout.precision(3);
	cout << fixed << 1.8 * a + 32;

	return 0;
}

3자리로 고정시키고, fixed를 통해 소수 셋째자리까지 표현하게 합니다. 그리고 섭씨 온도를 화씨 온도로 변환시키는 공식은 9 / 5 * 섭씨온도 + 32이며, 9 / 5는 1.8이므로 1.8 * 섭씨온도 + 32를 쓰셔도 무관합니다.


1017>

#include <iostream>
using namespace std;

int main()
{
	int second;
	
	cin >> second;
	cout << second / 60 << " " << second % 60;

	return 0;
}

초(second)를 입력받으면, 초를 60으로 나눈 값이 분이 되고, 나머지는 초가 됩니다.


1018>

#include <iostream>
using namespace std;

int main()
{
	int a, b, max;

	cin >> a >> b;
	max = (a > b) ? a : b;
	cout << max;

	return 0;
}

삼항 조건 연산자를 이용하여 크기를 비교합니다. a와 b의 크기를 비교해 a가 크면 a가, b가 크면 b가 max에 대입됩니다.


1019>

#include <iostream>
using namespace std;

int main()
{
	int a, b, c, min;

	cin >> a >> b >> c;
	min = (a > b) ? (b > c ? c : b) : (a > c ? c : a);
	cout << min;

	return 0;
}

이문제 역시도, 삼항 조건 연산자를 사용했습니다. a와 b를 비교하고, a가 클 경우에 a는 가장 작은 수가 아니기 때문에, b와 c를 비교하고 b가 크면 c를, c가 크면 b를 내보냅니다. 반대로 b가 클 경우에 b는 가장 작은 수가 아니기 때문에, a와 c를 비교하고 a가 크면 c를, c가 크면 a를 내보냅니다.


1020>

#include <iostream>
using namespace std;

int main()
{
	int a;

	cin >> a;
	if (a < 10) cout << "small";

	return 0;
}

if문을 통해, a가 10 미만일 경우 small를 출력하게 합니다.