ABOUT ME

  • 사칙연산_220701
    데일리 codeup/연산자 2022. 7. 1. 16:31

    c++에서 자주 이용되는 사칙연산은 덧셈, 뺄셈, 나눗셈, 곱셈 이다.

    덧셈, 뺄셈, 곱셈의 경우에는 +, -, *를 사용하면 되며, 나눗셈의 경우에는 몫과 나머지를 잘 구해야 한다.

    나누기 연산시 몫의 경우에는 / 연산을 통해 구할 수 있으며, 나머지의 경우 % 연산을 통해 구할 수 있다.

    나누어 떨어지진 않는 결과값을 구하기 위해서는 반드시 실수 type을 이용해야 한다.
    다만 두 type이 모두 실수형일 필요는 없고, 실수형과 정수형 간의 연산에서는 결과가 실수형이 나오기 때문에, 두 type중 하나만 실수형으로 바꿔주면 된다

    예제

    #include <iostream>
    using namespace std;
    
    int main() {
        int a = 9, b = 4;
        cout << a / b << ' ' << a % b << ' ' << (double)a / b;
        return 0;
    }

    출력 결과

    2 1 2.25

    추가적으로 연산의 선후관계를 이해해야 한다.

    (double)a / b;
    (double)(a / b);
    

    결과

    2.25
    2

    (double) a / b 는 double 로 계산이 되지만, (double) (a / b) 는 a/b가 int (몫 : 2) 로 계산된 후, double 로 type 을 바꿔주었기 때문에 결과값이 2가 된다.

    +추가)c++에서 cout 이용시 double값이라 하더라도 실수부분이 없는 경우에는 정수부분만 출력해주고는 한다.


    간단한 사칙연산

    두 정수 a, b를 입력받아 다음 값들을 전부 계산해서 출력하는 프로그램을 작성해보세요.

    • 두 정수를 더했을 때의 결과
    • a에서 b를 뺐을 때의 결과
    • a를 b로 나누었을 때의 몫
    • a를 b로 나누었을 때의 나머지
      #include <iostream>
      using namespace std;
      int main(){
        int a, b;
        cin >> a >> b;
        cout << a + b << endl << a - b << endl << a / b << endl << a % b;
        return 0;
      }

    사칙연산 다른 표현법
    예를 들어 변수 a에 현재 들어 있는 값에 5만큼을 더 더해주고 싶은 경우, 다음과 같이 코드 작성이 가능하다.

    a = a + 5;

    하지만 이러한 경우는 자주 발생하기 때문에 c에서는 다음과 같은 표현법도 제공한다

    a += 5;

    이는 곱하기, 나누기, 나머지 등의 모든 연산자에 적용이 가능하다.


    길이 변형 후 사각형 넓이 구하기

    직사각형의 가로와 세로의 길이를 정수형 값으로 입력받은 후 가로의 길이는 8 증가시키고 세로의 길이는 3배하여 저장한 후 가로의 길이, 세로의 길이, 넓이를 차례로 출력하는 프로그램을 작성해주세요.

    #include <iostream>
    using namespace std;
    int main(){
        int row, col;
        cin >> row >> col;
        cout << row + 8 << endl << col * 3 << endl << (row+8) * (col*3);
        return 0;
    }

    두수의 곱과 몫

    두 개의 정수를 입력받아 곱과 몫을 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        cin >> a >> b;
        cout << a << " * " << b << " = " << a * b << endl;
        cout << a << " / " << b << " = " << a / b;
        return 0;
    }

    몫과 나머지

    두 정수를 입력받아서 나눈 몫과 나머지를 출력하는 프로그램을 작성해주세요.

    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        cin >> a >> b;
        cout << a/b << "..."<< a%b;
        return 0;
    }

    입력받아 연산하기

    정수 2개를 입력받아서 첫 번째 수에는 87을 증가시켜 저장하고 두 번째 수는 10으로 나눈 나머지를 저장한 후 두 수를 차례로 출력하는 프로그램을 작성해주세요.

    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        cin >> a >> b;
        a += 87;
        b %=10;
        cout << a << endl << b;
        return 0;
    }

    2개의 정수를 서로 더하기

    2개의 정수 a, b를 입력받아 b를 a에 더한 후, 다시 a를 b에 더한 뒤의 결과를 출력하는 프로그램을 작성해주세요.

    예를 들어 a = 1, b = 3이었다면

    1. b를 a에 더하게 되어 a = 4, b = 3 이 되고
    2. 그 이후 a를 b에 더하게 되어 a = 4, b = 7이 됩니다.
    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        cin >> a >> b;
        a += b;
        b += a;
        cout << a << ' '<< b;
        return 0;
    }

    합과 차의 나눗셈

    두 정수 a, b 를 입력받고, a + ba - b 으로 나눈 값을 소수점 둘 째 자리까지 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        cin >> a >> b;
        cout << fixed;
        cout.precision(2);
        cout << (double)(a+b)/(a-b);
        return 0;
    }

    연산하는 정수를 실수(double)로 type을 변형시켜야 한다.

    '데일리 codeup > 연산자' 카테고리의 다른 글

    합과 평균_220701  (0) 2022.07.01

    댓글

Designed by Tistory.