문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
1바이트씩 저장되는 char형의 특징을 이용하여 문제를 해결했다. char형의 배열을 선언하여 붙어서 주어지는 문자들을 하나씩 분리시켜 배열에 저장할 수 있었다. 배열의 크기는 동적할당을 이용하지 않고 N의 범위가 1부터 100까지인 것을 고려하여 100으로 정했다.
scanf에서 char형의 변수를 입력받을때 맨 처음(배열의 첫 원소)에 이상한 값이 들어가는것을 확인할 수 있을것이다. 이것은 \n 줄바꿈 문자가 scanf에 입력된 것으로 " %c" 와 같이 앞에 한 칸의 공백을 만들어주면 된다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int k, i, sum = 0;
char ar[100] = { 0 };
scanf("%d", &k);
for (i = 0; i < k; i++)
scanf(" %c", &ar[i]);
for (i = 0; i < k; i++)
ar[i] -= 48;
for (i = 0; i < k; i++)
sum += ar[i];
printf("%d", sum);
}
'Algorithm > C' 카테고리의 다른 글
[백준] 2675번 : 문자열 반복 C/C++ 문제풀이 솔루션 (0) | 2021.10.28 |
---|---|
[백준] 10818번 : 최소,최대 C/C++ 문제풀이 솔루션 (0) | 2021.10.28 |
[백준] 11654번 : 아스키 코드 C/C++ 문제풀이 솔루션 (0) | 2021.10.27 |
[백준] 10951번 : (A+B - 4) C/C++ 문제풀이 솔루션 (0) | 2021.10.27 |
[백준] 2920번: 음계 C/C++ 문제풀이 솔루션 (0) | 2021.10.27 |
댓글