Menu
CoddyTech

成績

CoddyのCジャーニー「基礎」セクションの一部。レッスン 61/63。

challenge icon

チャレンジ

簡単

学生の成績を処理するプログラムを書きましょう。次のロジックを実装してください。

  • calculateAverage:すべての成績の平均をfloatとして返します。
  • findHighestGrade:配列内で見つかった最大の整数を返します。
  • determineLetterGrade:点数を文字に対応付けます。
    • 90~100の場合:A
    • 80~89の場合:B
    • 70~79の場合:C
    • 60~69の場合:D
    • 60未満の場合:F

自分で試してみよう

#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;
}

基礎のすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ