/* 학생들의 성적을 받아 최댓값과 최솟값 그리고 평균을 구하는 프로그램 */
#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;
}
'프로그래밍 > C, C++' 카테고리의 다른 글
[C++] fill, fill_n 배열을 초기화 하는 방법, 2차원, 3차원 배열 초기화 (0) | 2022.04.11 |
---|---|
[C언어] 하샤드수 구하기, int 각 자릿수 더하기 (0) | 2022.02.23 |
[c언어] stdlib.h, time.h 랜덤 숫자 맞추기 게임, string.h 문자열 비교 (2) | 2019.10.13 |
[C언어] 주소록에 이름과 전화번호를 입력하여 찾는 프로그램 (0) | 2019.09.30 |
[C언어] 주사위를 돌려서 가장 많이 나온 수와 가장 적게 나온 수 구하기 (0) | 2019.09.29 |