백준 11720번
N개의 숫자가 공백 없이 쓰여있다.
이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
첫째 줄에 숫자의 개수 N( 1 <= N <= 100 )이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
입력으로 주어진 숫자 N개의 합을 출력한다.
#include <stdio.h>
int atoi2(char *ar);
int main()
{
int N, S=0;
char ar[101]={0,};
scanf("%d", &N);
for(int i=0; i<1; i++){
scanf("%s", &ar[i]);
}
S=atoi2(ar);
printf("%d", S);
}
int atoi2(char *ar){
int i=0, S=0;
while(ar[i]!='\0'){
S+= ar[i]-'0';
++i;
}
return S;
}
입력은 공백없이 한 줄에 다 쓰이기 때문에 %s로 받는다.
저번 strlen2와 비슷하게 구현해서 풀었는데 atoi2 함수의 예외 처리가 필요할 수 있으나 해당 문제에선 합격 처리된다.
ASCII코드 표를 참고하면 어떻게 구한 것인지 알 수 있다.
반응형
'컴퓨터 > C, C++' 카테고리의 다른 글
[C/C++] 백준 2675번 C언어 (0) | 2022.05.21 |
---|---|
[C/C++] 백준 10809번 C언어 (0) | 2022.05.19 |
[C/C++] 백준 4344번 C언어 (0) | 2022.05.17 |
[C/C++] 백준 8958번 C언어 (0) | 2022.05.17 |
[C/C++] 백준 1546번 C언어 (0) | 2022.05.16 |
댓글