https://www.acmicpc.net/problem/11024
더하기 4 에서
https://www.acmicpc.net/problem/11023
더하기 3 처럼 EOF 처리만 해주면 '\n' 개행 문자 때문에
테스트 케이스 만큼 반복문을 처리하지 못하고 첫 케이스에서
문자를 다먹어 버린다.
소스보기
#include <iostream>
using namespace std;
int main(){
int sum=0,t=0,temp=0;
char ar[101];
cin >> t;
//테스트 케이스 입력
cin.ignore();
//t 입력하면서 버퍼에 입력된 개행문자 제거
while(t--){
cin.getline(ar,100,'\n');
for(int i=0; i<strlen(ar); i++){
while(ar[i]!=' ' && ar[i] != '\0'){
//문장의 공백이나 숫자가 아닐때까지 반복
temp *= 10;
temp += ar[i] -'0';
i++;
//숫자가 1의 자리 이상일때 10을 곱하는 작업을 반복해 2자리 이상의 숫자도 더해줘야함
}
sum += temp;
temp = 0;
//문자로 숫자를 바꿨을때 48을 빼서 계산
}
memset(ar,0,sizeof(ar));
//배열을 초기화
cout << sum << endl;
sum = 0;
}
return 0;
}
'컴퓨터공학 > 알고리즘 _ 문제해결' 카테고리의 다른 글
5704 팬그램 문자열 처리 문제 백준 (0) | 2017.01.29 |
---|---|
백준 5026 박사 과정 문자열 처리 (0) | 2017.01.29 |
백준 2309 일곱난쟁이 브루트 포스 (0) | 2017.01.13 |
10799 쇠막대기 백준 알고리즘 문제 스택 (0) | 2017.01.08 |
1063 king 킹 시뮬레이션 백준 알고리즘 ! (0) | 2017.01.04 |