오르막길

[C++] [1단계] 입출력과 사칙연산 본문

백준 풀어보기

[C++] [1단계] 입출력과 사칙연산

nanalyee 2021. 7. 13. 16:47
  • 글쓴이는 배워가는 학생이며 C++ 언어에 대한 기초 개념을 공부하기 위해 관련 티스토리를 작성, 운영 중입니다.
  • 글 내용이 모두 정확하다고 보장할 수 없으며 글쓴이의 개인적인 생각이 담긴 글입니다.
  • 공부할 때 참고한 블로그/티스토리는 링크를 남겼으며, 남기지 않은 내용은 주변 지인들에게 얻은 팁입니다.
  • 조언, 지적, 개선사항 등은 둥글게 부탁드립니다.

 

  • 전체적으로 오타를 주의할 것
  • 콘솔로 텍스트 출력 시 endl 보다는 "\n"을 애용하도록 하자 (속도 차이)
  • 고양이, 개 출력은 생략했다

 

1000. A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

(입력) 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

(출력) 첫째 줄에 A+B를 출력한다.

#include <iostream>

using namespace std;

int main()
{
    int A, B;
    cin >> A >> B;
    cout << A+B << "\n";
    return 0;
}
  • 동일한 문장에 변수 여러 개 선언 가능
  • 동일한 문장에 입력 가능

 

 

 

1008. A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

(입력) 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

(출력) 첫째 줄에 A/B를 출력한다. 실제 정답과 출력 값의 절대 오차 또는 상대오차가 10-9 이하이면 정답이다.

#include <iostream>

using namespace std;

int main()
{
    int A, B;
    cin >> A >> B;
    double a = A;
    double b = B;

    cout<<fixed;
    cout.precision(20);

    cout << a/b << "\n" ;
    return 0;
}
  • cout를 사용해 실수를 출력하면 정수+실수 부분이 6자리로 고정되어 출력
  • cout<<fixed; cout.precision(number); 을 사용해 소수점 자리를 고정
  • 고정 해제하는 법: cout.unsetf(ios::fixed);  ( 참고한 블로그 : https://aorica.tistory.com/13 )

 

 

 

2588. 곱셈

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

(입력) 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

(출력) 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

#include <iostream>

using namespace std;

int main()
{
    float num1, num2, num3;
    float mul1, mul2, mul3;
    int a, b;
    cin >> a >> b;

    num1 = b % 10;
    mul1 = num1 * a;
    num2 = (( b % 100 ) - num1 ) / 10;
    mul2 = num2 * a;
    num3 = ( b - num2*10 - num1 ) / 100;
    mul3 = num3 * a;

    cout << mul1 << "\n";
    cout << mul2 << "\n";
    cout << mul3 << "\n";
    cout << mul1 + mul2*10 + mul3*100 << "\n";

    return 0;
}
  • 쓸데없이 나머지 연산자 위주로만 사용한답시고 복잡하게 풀었다.. 가장 반성하게 된다..
  • a * ( b % 10 ), a * ( ( b / 10 ) % 10 ), a * ( b / 100 ) 로 풀면 무지 쉬운 문제
      (참고한 블로그 : https://cho000023.tistory.com/20)
  • % 나머지 연산자의 경우 양의 정수만(int) 쓰는 것이 좋다. 오류가 날 확률이 많기 때문

'백준 풀어보기' 카테고리의 다른 글

[JAVA] 18310. 안테나  (0) 2023.03.12
[JAVA] 2910. 빈도 정렬  (1) 2023.02.27
[JAVA] 17266. 어두운 굴다리  (1) 2023.01.30
[C++] [3단계] for문  (0) 2021.07.21
[C++] [2단계] if문  (0) 2021.07.14