TIL 18|成績処理プログラム
14343 ワード
💻 成績処理例
//성적처리 프로그램
# 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;
}
Reference
この問題について(TIL 18|成績処理プログラム), 我々は、より多くの情報をここで見つけました https://velog.io/@yoonsik123/TIL-18-성적처리-프로그램テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol