본문 바로가기
프로그램/C언어 1000제

C언어 168제] solved.ac class1 숫자의 합

by 건티 2024. 9. 17.
728x90

출처 : 반크_세계유산 경복궁

 

문제]

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

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

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

예제 입력 1 
1
1
예제 출력 1 
1

예제 입력 2 
5
54321
예제 출력 2 
15

예제 입력 3 
25
7000000000000000000000000
예제 출력 3 
7

예제 입력 4 
11
10987654321
예제 출력 4 
46

출처 : 백준_11720번

 

참고풀이]

#include <stdio.h>
#include <stdlib.h> //malloc(), free()

int main()
{
   int N;//숫자의 개수 입력변수
   int i;//인덱스 또는 반복변수 
   int H;//입력수의 합을 구하는 변수 

   scanf("%d",&N);
   if(N>=1 && N<=100)
   {
      //N+1개 만큼의 동적메모리 문자열을  설정한다. 
      char *Str=(char *)malloc(sizeof(char)*(N+1));
      //N개 만큼의 숫자를 입력받는다.
      scanf("%s",Str);
      //N개의 숫자가 입력되었는지 체크한다.
      for(i=0;i<N;i++)
         if(Str[i]>='0' && Str[i]<='9');
         else return 0;
      Str[N]='\0';

      //N개의 합을 구한다.
      for(H=0,i=0;i<N;i++)
      H+=(Str[i]-'0');

      //결과출력
      printf("%d",H);
   }
   return 0;
}

 

참고풀이 결과]

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글