Grades
Part of the Fundamentals section of Coddy's C journey — lesson 61 of 63.
Challenge
EasyWrite a program to process student grades. Implement the following logic:
calculateAverage: Return the mean of all grades as afloat.findHighestGrade: Return the maximum integer found in the array.determineLetterGrade: Map scores to letters:- Between 90-100:
A - Between 80-89:
B - Between 70-79:
C - Between 60-69:
D - Below 60:
F
- Between 90-100:
Try it yourself
#include <stdio.h>
// Function prototypes
float calculateAverage(int grades[], int size);
int findHighestGrade(int grades[], int size);
char determineLetterGrade(int grade);
float calculateAverage(int grades[], int size) {
// TODO: Calculate and return the average grade
}
int findHighestGrade(int grades[], int size) {
// TODO: Find and return the highest grade
}
char determineLetterGrade(int grade) {
// TODO: Determine and return the letter grade
}
int main() {
int size;
scanf("%d", &size);
int grades[size];
for (int i = 0; i < size; i++) {
scanf("%d", &grades[i]);
}
// Calculate and display the average grade
float average = calculateAverage(grades, size);
printf("Average grade: %.2f\n", average);
// Find and display the highest grade
int highest = findHighestGrade(grades, size);
printf("Highest grade: %d\n", highest);
// Display letter grade for each numerical grade
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;
}All lessons in Fundamentals
3Operators
Arithmetic OperatorsModulo OperatorIncrement/DecrementAssignment OperatorsRelational OperatorsLogical Operators Part 1Logical Operators Part 2Logical Operators Part 3Recap Challenge