Điểm số
Thuộc phần Nền tảng cơ bản trong hành trình C của Coddy. Bài học 61 trên 63.
Thử thách
DễViết chương trình xử lý điểm của học sinh. Triển khai logic sau:
calculateAverage: Trả về điểm trung bình của tất cả điểm dưới dạngfloat.findHighestGrade: Trả về số nguyên lớn nhất trong mảng.determineLetterGrade: Ánh xạ điểm số sang chữ cái:- Từ 90 đến 100:
A - Từ 80 đến 89:
B - Từ 70 đến 79:
C - Từ 60 đến 69:
D - Dưới 60:
F
- Từ 90 đến 100:
Tự làm thử
#include <stdio.h>
// Khai báo nguyên mẫu hàm (function)
float calculateAverage(int grades[], int size);
int findHighestGrade(int grades[], int size);
char determineLetterGrade(int grade);
float calculateAverage(int grades[], int size) {
// TODO: Tính và trả về điểm trung bình
}
int findHighestGrade(int grades[], int size) {
// TODO: Tìm và trả về điểm cao nhất
}
char determineLetterGrade(int grade) {
// TODO: Xác định và trả về điểm chữ
}
int main() {
int size;
scanf("%d", &size);
int grades[size];
for (int i = 0; i < size; i++) {
scanf("%d", &grades[i]);
}
// Tính và hiển thị điểm trung bình
float average = calculateAverage(grades, size);
printf("Average grade: %.2f\n", average);
// Tìm và hiển thị điểm cao nhất
int highest = findHighestGrade(grades, size);
printf("Highest grade: %d\n", highest);
// Hiển thị điểm chữ tương ứng với từng điểm số
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;
}Tất cả bài học trong Nền tảng cơ bản
2Biến
Kiểu dữ liệuSố nguyênSố thực - DoubleKý tựGiá trị BooleanHằng sốCơ bản về printfQuy tắc đặt tên biếnChuyển đổi kiểu phần 1Chuyển đổi kiểu phần 2Thử thách ôn tậpTự luyện tập: Trình biên dịch C online