보관함

JUNGOL 기초다지기 03 연산자

niamdank 2019. 11. 16. 11:23

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

이번 포스팅은 기초 다지기 중 세 번째인 연산자 문제를 풀어보도록 하겠습니다.

 

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


518 : 연산자 - 자가진단1

#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;
}

 

519 : 연산자 - 자가진단2

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	var1 += 100;
	var2 %= 10;

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

 

520 : 연산자 - 자가진단3

#include <iostream>

using namespace std;

int main(void)
{
	int var1;

	cin >> var1;

	cout << var1++ << endl;
	cout << ++var1 << endl;
}

 

521 : 연산자 - 자가진단4

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	int pros = var1++ * --var2;

	cout << var1 << ' ' << var2 << ' ' << pros << endl;
}

 

522 : 연산자 - 자가진단5

 

사실 C++에서는 이 문제에 대해서 새로운 변수에 값을 대입하는 식으로 처리하는게 옳습니다.

다만 아래 코드처럼 암묵적인 형 변환을 통해 출력하는 것도 가능합니다.

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	cout << (var1 == var2) << endl;
	cout << (var1 != var2) << endl;
}

 

삼항 연산자를 이용해 정수로 출력하는 코드는 이하와 같습니다.

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	cout << ((var1 == var2) ? 1 : 0) << endl;
	cout << ((var1 != var2) ? 1 : 0) << endl;
}

 

523 : 연산자 - 자가진단6

#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;
	cout << var1 << " >= " << var2 << " --- " << (var1 >= var2) << endl;
	cout << var1 << " <= " << var2 << " --- " << (var1 <= var2) << endl;
}

 

524 : 연산자 - 자가진단7

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	cout << (var1 && var2) << ' ' << (var1 || var2) << endl;
}

 

525 : 연산자 - 자가진단8

#include <iostream>

using namespace std;

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

	cin >> var1 >> var2 >> var3;

	bool isFirstBiggest = (var1 > var2) && (var1 > var3);
	bool isAllSame = (var1 == var2) && (var2 == var3);

	cout << isFirstBiggest << ' ' << isAllSame << endl;
}

 

111 : 연산자 - 형성평가1

#include <iostream>

using namespace std;

int main(void)
{
	int kor, eng, mat, com;

	cin >> kor >> eng >> mat >> com;

	int sum = kor + eng + mat + com;
	int avg = sum / 4;

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

 

112 : 연산자 - 형성평가2

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	cout << var1 << " / " << var2 << " = "
		<< var1 / var2 << "..." << var1 % var2 << endl;
}

 

113 : 연산자 - 형성평가3

#include <iostream>

using namespace std;

int main(void)
{
	int width, length;

	cin >> width >> length;

	width += 5;
	length *= 2;
	int area = width * length;

	cout << "width = " << width << endl;
	cout << "length = " << length << endl;
	cout << "area = " << area << endl;
}

 

114 : 연산자 - 형성평가4

#include <iostream>

using namespace std;

int main(void)
{
	int var1, var2;

	cin >> var1 >> var2;

	cout << ++var1 << ' ' << var2-- << endl;
	cout << var1 << ' ' << var2 << endl;
}

 

115 : 연산자 - 형성평가5

 

이번에는 사람이 나왔기 때문에 알아보기 쉽도록 구조체를 사용했습니다.

#include <iostream>

using namespace std;

struct Person
{
	int height;
	int weight;
};

int main(void)
{
	Person minsu;
	Person kiyoung;

	cin >> minsu.height >> minsu.weight;
	cin >> kiyoung.height >> kiyoung.weight;

	bool isMinsuBig = (minsu.height > kiyoung.height) && (minsu.weight > kiyoung.weight);

	cout << (isMinsuBig ? 1 : 0) << endl;
}