보관함
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;
}