본문 바로가기

C

[C언어] 실습: 다섯 개의 정수를 입력받은 후, 각 정수와 합, 최댓값과 최솟값의 차이 출력하기

반응형

다섯 개의 정수를 입력받은 후, 각 정수와 합, 최댓값과 최솟값의 차이 출력하기


#include<stdio.h>
#define SIZE 5

int add(int a[]);    // 배열을 매개변수로 사용한다.
int diff(int a[]);   // 배열을 매개변수로 사용할 땐 '배열의 크기'도 함께 전달해 주어야 한다.

int main(){

   int num[SIZE];
   int sum = 0;
   int difference = 0;

   printf("다섯 개의 정수 입력 : ");
   scanf("%d %d %d %d %d", num[0], num[1], num[2], num[3], num[4]);

   sum = add(num);           // add() 함수의 반환값을 저장한다.
   difference = diff(num);   // diff() 함수의 반환값을 저장한다.

   for(int i = 0; i < SIZE; i++){
      printf("%3d", num[i]);
   }

   printf("총점 : %d\n", sum);
   printf("최대값 - 최소값 : %d\n", difference);

   return 0;
}

int add(int a[]){
   int tot = 0;

   for(int i = 0; i < SIZE; i++)
      tot += a[i];

   return tot;
}

int diff(int a[]){
   int min, max;   // diff() 함수에서 min과 max 변수를 선언해준다. 함수에서 나오면 변수는 소멸된다.

   min = max = a[0];   // max에 a[0] 값을 저장한 후에 min에 max 값을 저장한다.

   for(int i = 0; i < SIZE; i++){
      if(min > a[i]) min = a[i];   // 만약 min이 a[i] 값보다 더 크면 min에 a[i] 값을 저장한다.
      if(max < a[i]) max = a[i];
   }

   return max - min;
}

 

반응형

'C' 카테고리의 다른 글

[C언어] 문자열 (%s)  (0) 2021.03.17
[C언어] 문자열 변수 (배열)  (0) 2021.03.16
[C언어] static 변수  (0) 2021.03.12
[C언어] 실습: 전역 변수 및 지역 변수  (0) 2021.03.09
[C언어] 실습: 지역 변수  (0) 2021.03.09