Open yuanchengjiayu opened 7 months ago
typedef struct work1 { 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;
}
include
include
typedef struct work1 { 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));
}