본문 바로가기

프로그래밍/C, C++

[c언어] 함수를 만들어 최댓값과 최솟값 그리고 평균 구하기

728x90
반응형

/* 학생들의 성적을 받아 최댓값과 최솟값 그리고 평균을 구하는 프로그램 */

#include

#define SIZE 99999
#define RESET -7

void resetArray(int arr[], int size)
{
int i;

for (i = 0; i < size; i++)
{
arr[i] = -7;
}
}

void getArray(int arr[], int size)
{
int i;

for (i = 0; i < size; i++)
{
printf("%d번 학생의 점수 ( 종료 : -1 ) : ", i + 1);
scanf("%d", &arr[i]);

if (arr[i] == -1) break;
}

}

int checkMSvenArray(int arr[], int size)
{
int i;

for (i = 0; i < size; i++)
{
if (arr[i] != RESET)  continue;
else break;
}

return i;
}

int checkMax(int arr[], int size)
{
int i, max = 0;

for(i = 0; i <= size; i++)
{
if(arr[i] > max) max = arr[i];
}

return max;

}

int checkMin(int arr[], int size)
{
int i, min = 100;

for(i = 0; i < size; i++)
{
if(arr[i] < min) min = arr[i];
}

return min;

}

int sumArray(int arr[], int size)
{
int i, sum;

for(i = 0; i <= size; i++)
{
sum += arr[i];
}

return sum;
}

double aveArray(double size, double s)
{
double ave;

ave = s / size;

return ave;
}

int main()
{
int studentArray[SIZE] = { RESET };
int i, maxValue, minValue, sumValue, checkMSeven = 0;
double aveValue;

resetArray(studentArray, SIZE);
getArray(studentArray, SIZE);
checkMSeven = checkMSvenArray(studentArray, SIZE) - 1;
maxValue = checkMax(studentArray, checkMSeven);
minValue = checkMin(studentArray, checkMSeven);
sumValue = sumArray(studentArray, checkMSeven);
aveValue = aveArray(checkMSeven, sumValue);

printf("학생 수 %d\n", checkMSeven);
printf("학생들 성적의 최댓값은 %d 이고 최솟값은 %d입니다.\n", maxValue, minValue);
printf("학생들 성적의 합은 %d이고 평균값은 %f입니다.\n", sumValue, aveValue);

return 0;

}

728x90
반응형