<C++> 입출력

긍이·2023년 10월 21일
0

C++

목록 보기
2/12
post-thumbnail

제목을 뭘로 해야할지 모르겠다

지난 글에서 cin, cout으로 입출력 받는걸 했긴한데
이번 글도 입출력으로 시작할거라 입출력으로 지었다

백준 알고리즘을 풀면서 공부를 하려고한다
최근에 들은건데 게임 3사에 들어갈려면 백준 골드 티어정도는 되야한다고 하더라

📌 백준 알고리즘

✔ 2557번 Hollo World!

암튼.. 단계별로 하나씩 풀어보았다
근데 ㅋㅋ Hello world부터 틀리고 시작..ㅎㅎ..

친절하게 어떤 부분이 틀렸는지도 알려주더라 ';'를 안붙여서 컴파일 에러..ㅎㅎ..

그리고 고쳐서 다시 제출했는데 틀렸습니다! 라는거..ㅜㅜ 뭐지 했는데 Hello world하고서 '!'를 안붙여서 제출해서 그랬다ㅋㅎㅋㅎ

암튼.. 그거야 실수로 넘어가고

지난 글에 사용한 방법과 같이 +,-,* 문제도 순서대로 풀어 나갔다

✔ 1008 a/b

지난 글에 사용한 단순히 a/b를 사용하면 소숫점까지 나오지 않는다

int a,b를 받아와 나누고 소숫점까지 출력을 하고싶다면
float 함수를 사용하면 되는데
문제에서는 상대오차가 10-9 이하를 요구하기에 doudle을 사용해야한다

double c를 만들어 a/b를 넣고 출력하면 되겠지하고 해봤는데

#include <iostream>

int main()
{
	int a, b;
	std::cin >> a >> b;
	double c = a/b;

	 std::cout << c;
}

1 3
0

쩝.. 소숫점이 안나오더라

찾아보니 출력할때 double임을 알려줘야되는 듯 했다

#include <iostream>

int main()
{
	int a, b;
	std::cin >> a >> b;
	
	 std::cout << (double)a/b;
}

1 3
0.333333

근데 이것두 오차범위를 넘어서기 때문에
틀렸다

cout의 기본값은 6자리라고 한다
출력값의 길이를 늘리기 위해선 precision()를 사용해야한다고 한다

#include <iostream>

int main()
{
    int a, b;
    std::cin >> a >> b;
    std::cout.precision(10);
    std::cout << (double)a / b;
}

1 3
0.3333333333

✔ 10926번 ??!

int 를 string으로 변경해서 사용하면 되겠지 했는데

std::을 붙여야지 사용이되더라

#include <iostream>

int main()
{
    std::string  s;
    std::cin >>s;

    std::cout << s +"??!";
}

eerdd
eerdd??!

✔ 18108번 1998년생인 내가 태국에서는 2541년생?!


문제의 내용 자체가 신기해서 캡쳐했다
올해는 태국에서 2566년이라고 한다

#include <iostream>

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

	std::cout << a - 543;
}

2566
2023

✔ 11382번 꼬마정민

문제를 대충 슥 보고 제출 했더니 바로 틀려버렸다

#include <iostream>

int main()
{
	int a,b,c;
	std::cin >> a>>b>>c;

	std::cout << a+b+c;
}

77 77 7777
7931

뭐가 문제인가하고 질문게시판을 보니 나랑 똑같은 사람이 많았다ㅋㅎ..


라서 int가 아닌 long long을 사용해야한다고 한다

#include <iostream>

int main()
{
	long long a, b, c;
	std::cin >> a >> b >> c;

	std::cout << a + b + c;
}

77 77 7777
7931

✔ 10171번 고양이


'\'를 출력하고 싶을땐 두번

#include <iostream>

int main()
{
	std::cout << "\\    /\\ \n";
	std::cout << " )  ( ')\n";
	std::cout << "(  /  )\n";
	std::cout << " \\(__)|";
}

✔ 10172번 개

마찬가지로 ",'도 앞에 '\'만 붙여주면 된당!

#include <iostream>

int main()
{
	std::cout << "|\\_/| \n";
	std::cout << "|q p|   /} \n";
	std::cout << "( 0 )\"\"\"\\ \n";
	std::cout << "|\"^\"\`    | \n";
	std::cout << "||_/=\\\\__|";
}

0개의 댓글

관련 채용 정보