티스토리 뷰

문제. 

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

 

입출력.

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 입력으로 주어진 숫자 N개의 합을 출력한다.

 

#include <stdio.h>

int main() {
    //문제11720 / 2021.02.26

    int cnt, sum=0;
    char n;
    scanf("%d",&cnt);
    getchar();
    for(int i=0; i<cnt; i++){
        scanf("%c", &n);
        sum+=(n-48);
    }
    printf("%d\n",sum);
    return 0;
}

 

Insight.

이번에도 입력 함수의 버퍼를 사용해보려고 했는데 그럼 정수형을 사용했을 때, 한 개의 숫자로 인지해서 한 자리씩 가져올 수 없었다. 그래서 char형으로 하나씩 가져와서 -48을 해주고 원하는 숫자가 나오도록 하고 합을 구했다. char형은 연산이 되니까.. 그리고 횟수 다음에 개행문자가 버퍼에 저장되어 있어서 그 다음 입력에 영향이 있기래 getchar()를 사용해서 버퍼를 비워줬다. 

 

그리고 C언어는 진짜... 진짜 가볍고 빠르구만....

 

 

 

 

 

 

11720번: 숫자의 합

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

www.acmicpc.net

 

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday