본문 바로가기

IT프로그래밍

사용자가 입력하는 모든 정수값들을 읽어서 그들의 총합과 평균을 보여주는 프로그램 소스코드 & 설명

안녕하세요 manniz 입니다.

 

오늘의 c언어 프로그램 예제입니다

 

예제.

1. 사용자가 0을 입력할 때 까지 계속 숫자를 입력받는다.

2. 0을 입력하면, 지금까지 입력한 수들의 합과 평균을 출력한다.

 

소스 코드

#include <stdio.h>


int main(void)
{
   int input = -1;
   int sum = 0;
   int count = 0;

   while (input != 0)
   {
      printf("숫자를 입력하세요(0:끝내기) : ");
      scanf("%d", &input);
      sum += input;

      if(input != 0)
      {
         count += 1;
      }
      
   }

   printf("--------------------------------\n");
   printf("입력하신 수들의 총 합 : %d\n", sum);
   printf("입력하신 횟수(0제외) : %d\n", count);
   printf("평균 : %f\n", (float)sum/(float)count);
   printf("--------------------------------\n");

}

 

출력 결과

 

 

코드 설명

1. 사용자의 입력을 담을 변수 input을 생성합니다, 초기값은 -1이지만, 0이 아닌 모든 수 가능합니다

2. 합계를 담을 변수 sum을 생성합니다, 초기값 = 0 입니다.

3. 사용자의 입력 횟수를 담을 변수 count를 생성합니다, 초기값 = 0 입니다

4. while반복문 생성, 반복을 지속할 조건은 input != 0 입니다
   - 초기 input값은 -1로 생성 하였기에 반복문 안으로 들어갑니다
   - 사용자가 0을 입력하면 반복문 안으로 들어가지 못합니다. 즉 while문이 종료됩니다
   - 0 이외 숫자를 입력하면 while반복문이 무한히 반복됩니다
   - while(true)
     {
        if(input == 0)
        {
          break;
        }
     }
     위의 소스와 같은 의미입니다. 죽 0이 입력될 때까지 반복됩니다

5. 사용자에게 '숫자를 입력하세요(0:끝내기) : '라는 문자열을 Console에 출력합니다

6. 사용자의 키보드 입력을 기다립니다
   - scanf를 통해서 사용자의 입력을 input에 int형 변수로 저장합니다

7. sum += input, 이것은 sum = sum + input과 동일합니다
   - input 변수는 사용자가 입력을 할 때마다 계속 변경됩니다
   - 따라서 변수 sum에 input에 입력된 값을 계속 합산하여 총합을 구합니다

8. if(input != 0){count += 1;}
   - 입력된 값이 0이 아니면 사용자의 입력 횟수를 담는 변수인 count를 1증가시키라는 의미입니다
   - 0이 입력되었을 때는 증가시키지 않습니다(카운트에서 제외 시킵니다)

9. 합산을 Console에 출력합니다

10. 입력한 횟수를 Console에 출력합니다

11. 합산 / 입력한 횟수 를 계산하여 평균을 Console에 출력합니다
   - int형 변수를 float로 캐스팅 하여 출력합니다(소수점까지 표현을 위해서)
   - %f를 통해서 실수형식으로 출력합니다

 

 

감사합니다.

 

질문과 요청은 댓글로 부탁드립니다 >_<