C언어 2

[c++] char 형으로 받은 숫자를 int 로

백준 문제 11720번에 대한 이야기. string 형태, 즉 char[] 형의 input 이 주어졌을때 이를 어떻게 숫자로 변환해서 합을 구할것인가 나는 처음에 이 문제를 봤을 때 그냥 (int)문자 쓰면 되는 거 아닌가?하고 생각했다. 그리고 아스키코드를 까맣게 잊고 있었기 때문에 출력이 너무 이상하게 나오고 있었다. 입력은 char 배열에 숫자 하나씩 잘 들어가는데 (int)로 형변환만 해주고 나서 sum 으로 합을 구하니 자꾸 합이 255 가 나왔다. 문제는 다음과 같다. 입력 첫줄에 정수의 개수 N이 주어진다. 두번째줄에 0≤x≤9인 정수가 N개 주어진다. ex) 5 54321 출력 입력받은 숫자들의 합을 출력한다 ex) 15 그래서 아스키코드를 다시한번 검색해보았다. 아스키코드표를 살펴보면 아..

C언어 2020.12.18

[c++] while loop에서 EOF(End Of File)이용하기

요즘 복습 겸 백준 단계별 풀이를 하고 있는데 while을 이용하면서 다른 종료에 대한 조건(ex. a+b 계산에서 a,b가 둘다 0이면 종료) 없이 입력이 끝나면 프로그램을 종료하는 문제(백준 10951번)를 처음 작성하게 되었다. 학교에서 그래도 프로그래밍 수업을 은근 들었는데 한번도 eof를 이용한 종료를 써본 기억이 없다니..ㅋㅋㅋㅋㅋㅋ 아무튼 문제의 조건은 다음과 같다. input - 한 줄에 두 숫자 a, b가 입력된다. - 총 몇 개의 테스트케이스가 있을지는 알 수 없다. output - 입력이 종료될 때까지 a + b를 출력한다. 입력예제 1 1 2 3 3 10 5 1 2 7 2 1 출력예제 2 5 13 6 9 3 처음에 cin >> a >> b를 이용해서 a==EOF일때 프로그램을 종료하..

C언어 2020.12.03