TIL 18 | 성적처리 프로그램
💻 성적처리 예제
//성적처리 프로그램
# define _CRT_SECURE_NO_WARNINGS
# define NUM 30
#include <stdio.h>
double findAvg(int sdata[][2], int n);
int findMax(int sdata[][2], int n);
int findRank(int sdata[][2], int n, int sid);
int main(void)
{
int n, sid;
int scores[NUM][2];
// 전체 학생 수 n
printf("전체 학생 수 입력 : ");
scanf_s("%d", &n);
// 학생들이 학번과 성적을 이차원배열에 입력,
printf("학번과 성적을 입력하세요 : ");
for (int i = 0; i < n; i++) {
scanf_s("%d %d", &scores[i][0], &scores[i][1]);
}
// 성적의 평균, 최고점을 출력
printf("성적의 평균 : %.2f\n", findAvg(scores, n));
printf("정적의 최고점 : %d\n", findMax(scores, n));
// 학번을 입력받고 등수를 출력
printf("학번(sid)를 입력하세요 : ");
scanf_s("%d", &sid);
printf("%d번의 등수 : %d\n",sid, findRank(scores, n, sid));
return 0;
}
double findAvg(int sdata [][2], int n)
{
double Avg = 0;
for (int i = 0; i < n; i++) {
Avg += sdata[i][1];
}
Avg = Avg / n;
return Avg;
}
int findMax(int sdata[][2], int n)
{
int max;
max = sdata[0][1];
for (int i = 0; i < n; i++) {
if (sdata[i][1] > max)
max = sdata[i][1];
}
return max;
}
int findRank(int sdata[][2], int n, int sid)
{
int jumsu, rank;
for (int i = 0; i < n; i++) {
if (sid == sdata[i][0]) {
jumsu = sdata[i][1];
break;
}
}
rank = 0;
for (int i = 0; i < n; i++) {
if (sdata[i][1] > jumsu)
rank += 1;
}
return rank + 1;
}
Author And Source
이 문제에 관하여(TIL 18 | 성적처리 프로그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoonsik123/TIL-18-성적처리-프로그램저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)