티스토리 뷰
728x90
여러개의 숫자를 줄바꿈과 공백 없이 입력받아야한다.
- cin >> 는 공백문자를 기준으로 값을 받아오고, 개행을 해야지 다음 줄로 넘어갈 수 있기 때문에 사용이 어렵다.
- string을 사용한다면 각 문자끼리 띄어내는 것이 어렵다.
- 따라서 char[]을 사용했다.
c++에서 char[] 입력을 받으려면 cin.getline(char* str, int n ) 함수를 사용한다. 문자배열에 n-1개의 문자를 받아온다.
cin.ignore()이 필요한 이유는 cin>>은 마지막 개행 문자를 버퍼에 남겨둔다. ignore이 없으면 다음 입력을 받을 때 버퍼에 남아있는 개행 문자가 그대로 들어가 나에게 입력을 받지 않고 무시해버릴 수 있다. 따라서 Ignore을 사용해서 한번 버퍼를 비우고 다음 입력을 받아야한다.
#include <iostream>
using namespace std;
int main(){
int cnt;
int cs;
int total = 0;
cin >> cnt;
char num[cnt];
cin.ignore();
cin.getline(num, cnt+1);
for(int i=0;i<cnt;i++){
total += num[i] -'0';
}
cout<<total;
}
728x90
'C++ > Baekjoon' 카테고리의 다른 글
백준1157 (0) | 2022.02.04 |
---|---|
백준2675 (0) | 2022.02.03 |
백준10809 (0) | 2022.02.03 |
백준15596, 4673 (0) | 2021.09.29 |
백준 2557, 10869, 10818 (0) | 2021.09.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- multiple Column
- select
- mac Unity vscode 자동완성
- 우분투
- ubuntu
- DevExpress
- Unity
- androidstudio
- 해마코딩
- 트리
- 버추얼박스
- Mac
- apt-get
- Query
- VirtualBox
- Unity vs code
- QO
- =
- ()
- Flutter
- mac unity vscode autocomplete
- flutterdoctor
- apt
- 컨셉때문에킹받으셨나요..죄송합니다..제가 봐도 킹받네요
- gridContorl
- DataSource
- Tree
- VS Code
- Winform
- GIT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함
Blog is powered by
Tistory / Designed by
Tistory