成績
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 61/63。
チャレンジ
簡単学生の成績を処理するプログラムを作成してください。以下のロジックを実装してください:
calculateAverage: すべての成績の平均値をfloatとして返します。findHighestGrade: 配列内で見つかった最大整数を返します。determineLetterGrade: スコアを文字にマッピングします:- 90-100の間:
A - 80-89の間:
B - 70-79の間:
C - 60-69の間:
D - 60未満:
F
- 90-100の間:
自分で試してみよう
#include <stdio.h>
// 関数のプロトタイプ
float calculateAverage(int grades[], int size);
int findHighestGrade(int grades[], int size);
char determineLetterGrade(int grade);
float calculateAverage(int grades[], int size) {
// TODO: 平均点を計算して返す
}
int findHighestGrade(int grades[], int size) {
// TODO: 最高点を見つけて返す
}
char determineLetterGrade(int grade) {
// TODO: 成績(文字)を判定して返す
}
int main() {
int size;
scanf("%d", &size);
int grades[size];
for (int i = 0; i < size; i++) {
scanf("%d", &grades[i]);
}
// 平均点を計算して表示する
float average = calculateAverage(grades, size);
printf("Average grade: %.2f\n", average);
// 最高点を見つけて表示する
int highest = findHighestGrade(grades, size);
printf("Highest grade: %d\n", highest);
// 各数値点数に対応する成績(文字)を表示する
printf("\nStudent Grades:\n");
for (int i = 0; i < size; i++) {
char letterGrade = determineLetterGrade(grades[i]);
printf("Student %d: %d - %c\n", i+1, grades[i], letterGrade);
}
return 0;
}