본문 바로가기

C 언어/연습문제

C언어 연습문제3

[문제]

길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 총 5개의 정수를 입력 받자!
그리고 입력이 끝나면 다음의 내용을 출력하도록 하자.
- 입력된 정수 중에서 최대값
- 입력된 정수 중에서 최소값
- 입력된 정수의 총 합

단, 반드시 입력을 완료한 상태에서 최대값, 최소값, 총 합을 계산해야 한다.

 

[실행결과]

1번째 정수 입력: 1
2번째 정수 입력: 5
3번째 정수 입력: 3
4번째 정수 입력: 7
5번째 정수 입력: 9
최대값: 9
최소값: 1
총  합: 25

 

[코드1]

#include<stdio.h>

int main(void)
{
	int str[5];
	int Max, Min, Sum, i;

	for (i = 0; i < 5; i++)
	{
		printf("%d번째 정수 입력: ", i + 1);
		scanf_s("%d", &str[i]);
	}

	Max = Min = Sum = str[0];
	for (i = 1; i < 5; i++)
	{
		Sum += str[i];

		if (Max < str[i])
			Max = str[i];

		if (Min > str[i])
			Min = str[i];
	}

	printf("최대값: %d\n", Max);
	printf("최소값: %d\n", Min);
	printf("총  합: %d\n", Sum);

	return 0;
}

 

[코드2]

#include<stdio.h>

#define LEN	5

void InputNum(int* arr, int len);
int SetMaxNum(const int* arr, int len);
int SetMinNum(const int* arr, int len);
int CalSum(const int* arr, int len);

int main()
{
	int arr[LEN];

	InputNum(arr, LEN);
	
	printf("최대값: %d\n", SetMaxNum(arr, LEN));
	printf("최소값: %d\n", SetMinNum(arr, LEN));
	printf("총  합: %d\n", CalSum(arr, LEN));

	return 0;
}

void InputNum(int* arr, int len)
{
	for (int i = 0;i < len;i++)
	{
		printf("%d번째 정수 입력: ", i + 1);
		scanf_s("%d", &arr[i]);
	}
}

int SetMaxNum(const int* arr, int len)
{
	int max = arr[0];

	for (int i = 0; i < len; i++)
	{
		if (max < arr[i])
			max = arr[i];
	}
	return max;
}

int SetMinNum(const int* arr, int len)
{
	int min = arr[0];

	for (int i = 0; i < len; i++)
	{
		if (min > arr[i])
			min = arr[i];
	}
	return min;
}

int CalSum(const int* arr, int len)
{
	int sum = 0;

	for (int i = 0; i < len; i++)
		sum += arr[i];

	return sum;
}

 

<참고>

윤성우의 열혈 C 프로그래밍

'C 언어 > 연습문제' 카테고리의 다른 글

C언어 연습문제6  (0) 2021.11.10
C언어 연습문제5  (0) 2021.11.05
C언어 연습문제4  (2) 2021.10.26
C언어 연습문제2  (0) 2021.10.25
C언어 연습문제1  (0) 2021.10.25