개인 서재..*/문제풀이
백준 11720번 문제. 숫자의 합
낭만붕어빵
2017. 5. 2. 00:02
반응형
[Point] 자료형의 범위에 주의할 것
처음엔 두번째 입력을 long long 형으로 "하나의 숫자인것처럼" 받아버린 후,
10씩 나눠가면서 각 자리 숫자를 더하려고 했다.
예제는 제대로 출력이 되었지만 계속 오류가 떠서 확인해보니
long long 형으로도 100자리 숫자는 도저히 커버가 안되는 것이었다....
그래서 문자열로 받는 방법을 택했다.
아스키코드상,
'0'=48
'1'=49
'2'=50
.
.
.
.
. 이런 식이기 때문에 '0'을 빼주면 해당 값이 나온다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> int main() { int cnt,i; int sum = 0; char input[101]; scanf("%d", &cnt); scanf("%s", input); for (i = 0; i < cnt; i++) { sum += input[i]-'0'; } printf("%d\n",sum); return 0; } | cs |
반응형