반응형

문제 출처

https://www.acmicpc.net/problem/11720

 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

 

 

문제

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

출력

입력으로 주어진 숫자 N개의 합을 출력한다

 

 

문제 이해하기

수에 한자리 한자리 수를 변수에 담아 출력하면된다.

 

문자배열로 받아 그냥 값을 더해서 출력하면 값이 틀린데 그 이유가 문자 1을 그냥 10진수로 출력하면 49가 나오기 때문이다. 그래서 나는 그문자 아스키값을 참고해서 문자 숫자에다가 48빼면 내가 의도한 값을 뽑아 낼수 있다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(int argc, char *argv[]) {
    int i,k,hap=0;
    char str[100];
    scanf("%d",&k);
    scanf("%s",&str);
    for(i=0;i<k;i++){
        hap = hap + (str[i]-48);
    }
    printf("%d",hap);
    return 0;
}
반응형

+ Recent posts