You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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));
#include <stdio.h>
#include <stdlib.h>
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;
}
The text was updated successfully, but these errors were encountered: