[C++]기초 입출력 1012~1025 , iomanip , getline(),간단 scanf
[1012]
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
int main(void){
float number;
cin>>number;
cout<<fixed<<setprecision(6)<<number<<"\n";
return 0;
}
cout의 기본 정밀도는 6이라고 한다.
이 문제에서 제시된 예시는 7자리 수 이므로 출력 자릿수 조정이 필요.
iomanip 헤더의 setprecision 기능 사용
fixed 와 setprecision 을 같이 : 소수점 n 자리수 출력
fixed 가 없다면 : 정수와 소수 부분 합쳐서 n 자리수 출력
[1015] 1012와 같은 맥락
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
int main(){
float num;
cin>> num;
cout<<fixed<<setprecision(2)<<num;
return 0;
}
[1020]
#include <bits/stdc++.h>
#include <iomanip>
using namespace std;
int main(){
int f,r;
scanf("%d-%d",&f,&r);
printf("%06d%06d",f,r);
return 0;
}
입력은 '-'로 구분하여 입력받는다.
자릿수를 고정하는 정수형을 사용하여 출력한다.
이것을 사용하지 않으면 000112는 112로 출력된다.
[1022]
#include <bits/stdc++.h>
using namespace std;
int main(){
string ans;
getline(cin,ans);
cout<<ans;
return 0;
}
hello world 처럼 중간에 띄어쓰기가 들어간 경우 입력받기 위해서
getline을 사용했다.
1. std::getline()
- <string>에 정의되어 있음
- getline() 의 사용법
첫 번째 인자 : 파일입력인지 표준 입역인지
두 번째 인자 : 문자열을 저장할 string 변수명
세 번째 인자 : 입력받은 문자들 중 어느 문자 전까지 저장할 것인지. ex ) 'z'
default는 "\n"
2. std::cin.getline()
- <iostream>에 정의된 cin의 멤버 함수
- cin.getline() 의 사용법
첫 번째 인자 : 문자열 저장할 char 배열명
두 번째 인자 : 저장할 문자 최대 개수
char str[50];
cin.getline(str,10);
cout<<str<<endl;
3. fgets() 사용
- <stdio.h> 헤더파일
char s[2001];
fgets(s,2000,stdin);
printf("%s",s);
- 기본형 : char *fgets(char * buffer, int max,FILE * stream);
-첫 번째 인자 buffer : 저장할 버퍼(변수)
두 번째 인자 max : 문자열을 구성하는 문자 최대 개수 - 1
세 번째 인자 stream : 입력 파일 스트림 ex)stdin
[1023]
실수 한 개를 입력받은 후 정수 부분, 실수 부분 따로 출력하기
(단, 입력값은 절댓값이 10000을 넘지 않으며, 소수점 이하 자릿수는 최대 6자리까지이고
0이 아닌 숫자로 시작한다.)
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,f;
scanf("%d.%d",&n,&f);
cout<<n<<"\n"<<f;
return 0;
}
정말 간단하다. 입력이 x.xxx 이런식으로 '.'을 기준으로 int가 들어오니
scanf를 이용하면 바로 풀린다.
어렵게 생각하지말고 쉽게 바로 풀렸으면 좋겠다.
[1025]
int main(){
int n[5];
scanf("%1d%1d%1d%1d%1d",&n[0],&n[1],&n[2],&n[3],&n[4]);
return 0;
}
다섯 자리 정수를 입력 받는데 각 자리별로 나누어
70000
5000 ..
이런 식으로 출력하는 문제다.
%1d 이렇게 간단하게 해결할 수 있다.
참고,출처