Menu
Coddy logo textTech

成績

CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 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;
}

Fundamentalsのすべてのレッスン