QZHY-HTX / Data-Structure

泉州海洋职业学院信息工程学院2023-2024学年第二学期数据结构课程仓库
MIT License
6 stars 9 forks source link

付刚+2302220040 #55

Open yuhouqingtian opened 7 months ago

yuhouqingtian commented 7 months ago

include

include

typedef struct { int id; float score; } Student;

void input_students(Student* students, int n) { for (int i = 0; i < n; i++) { printf("请输入第%d个学生的学号: ", i + 1); scanf("%d", &students[i].id); printf("请输入%d的考试成绩: ", students[i].id); scanf("%f", &students[i].score); } }

void sort_students(Student* students, int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (students[j].score < students[j + 1].score) { Student temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; } } } }

float calculate_avg_score(Student* students, int n) { float total_score = 0.0; for (int i = 0; i < n; i++) { total_score += students[i].score; } return total_score / n; }

int count_failed_students(Student* students, int n) { int failed_count = 0; for (int i = 0; i < n; i++) { if (students[i].score < 60.0) { failed_count++; } } return failed_count; }

int main() { int n; printf("请输入学生人数: "); scanf("%d", &n);

Student students = (Student)malloc(n * sizeof(Student));

input_students(students, n); sort_students(students, n);

printf("\n学号\t成绩\n"); for (int i = 0; i < n; i++) { printf("%d\t%.2f\n", students[i].id, students[i].score); }

float avg_score = calculate_avg_score(students, n); int failed_count = count_failed_students(students, n);

printf("\n平均成绩: %.2f\n", avg_score); printf("不及格人数: %d\n", failed_count); free(students); return 0; }