백준 11024번 더하기 4
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;
}