-
[ 11023 ] 더하기 3 - 입출력알고리즘/BOJ 2021. 7. 26. 15:03
< 입출력 > - < solve등급 >
[ 11023 ]
더하기 3
수 N개가 주어졌을 때, N개의 합을 구하는 프로그램을 작성하시오.
:: 입력
첫째 줄에 N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 또, 0으로 시작하는 수는 주어지지 않는다.
:: 출력
입력받은 수 N개의 합을 출력한다.
- try 1
: string으로 입력 받아서 숫자를 구분해내려고 했는데
분명 더 간단한 방법이 있을 것 같아서 답을 봄
아이디어
1번 풀이에서는 scanf("%d", &n) == 1 을 이용해서 풀었다
scanf 는 입력받은 인자의 갯수를 리턴하는데
이 점을 이용해서 입력이 제대로 들어왔는지를 확인했다.
2번 풀이에서는 EOF가 상수 -1 로 정의되어있다는 점을 이용해서 풀었다
다른 방법들로는
직접 EOF 와 대조하는 방법
scanf("%d", &n) != EOFcin.eof() 를 활용하는 방법
cin으로 입력받은 값이 없으면 cin.eof()는 true를 반환한다.
cin.eof() == true정답 코드
#include <cstdio> int main(){ int n; int sum = 0; while(scanf("%d", &n) == 1) sum += n; printf("%d\n", sum); return 0; }#include<cstdio> int a,g; int main(){ while(scanf("%d",&g)!=-1)a+=g; printf("%d",a);return 0; }'알고리즘 > BOJ' 카테고리의 다른 글
[ 10807 ] 개수 세기 - array, vector (0) 2021.07.26 [ 11024 ] 더하기 4 - 입출력 (0) 2021.07.26 X - [ 11719 ] 그대로 출력하기 2 - 구현 (0) 2021.07.23 X - [ 11718 ] 그대로 출력하기 - 구현 (0) 2021.07.23 [ 11721 ] 열 개씩 끊어 출력하기 - 구현 (0) 2021.07.23