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 sort_students(Student arr[], int n) {
int i, j;
float temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i].score < arr[j].score) {
temp = arr[i].score;
arr[i].score = arr[j].score;
arr[j].score = temp;
}
}
}
}
// 计算平均成绩和不及格人数
void calculate(Student arr[], int n) {
int i, count = 0;
float sum = 0.0;
for (i = 0; i < n; i++) {
sum += arr[i].score;
if (arr[i].score < 60) { // 不及格分数为60分以下
count++;
}
}
float average = sum / n;
printf("平均成绩为:%.2f\n", average);
printf("不及格学生人数为:%d\n", count);
}
int main() {
int n, i;
Student arr[100]; // 假设最多有100个学生
printf("请输入班级学生人数:");
scanf("%d", &n);
printf("请输入学生的学号和成绩(空格分隔):\n");
for (i = 0; i < n; i++) {
scanf("%d %f", &arr[i].id, &arr[i].score);
}
sort_students(arr, n); // 排序
calculate(arr, n); // 计算平均成绩和不及格人数
printf("按成绩由高到低排序的学生信息:\n");
printf("学号 成绩\n");
for (i = 0; i < n; i++) {
printf("%d %.2f\n", arr[i].id, arr[i].score);
}
return 0;
}
The text was updated successfully, but these errors were encountered:
#include <stdio.h>
// 定义结构体存储学生信息
typedef struct student {
int id; // 学号
float score; // 成绩
} Student;
// 排序函数,按成绩由高到低排序
void sort_students(Student arr[], int n) {
int i, j;
float temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i].score < arr[j].score) {
temp = arr[i].score;
arr[i].score = arr[j].score;
arr[j].score = temp;
}
}
}
}
// 计算平均成绩和不及格人数
void calculate(Student arr[], int n) {
int i, count = 0;
float sum = 0.0;
for (i = 0; i < n; i++) {
sum += arr[i].score;
if (arr[i].score < 60) { // 不及格分数为60分以下
count++;
}
}
float average = sum / n;
printf("平均成绩为:%.2f\n", average);
printf("不及格学生人数为:%d\n", count);
}
int main() {
int n, i;
Student arr[100]; // 假设最多有100个学生
printf("请输入班级学生人数:");
scanf("%d", &n);
printf("请输入学生的学号和成绩(空格分隔):\n");
for (i = 0; i < n; i++) {
scanf("%d %f", &arr[i].id, &arr[i].score);
}
sort_students(arr, n); // 排序
calculate(arr, n); // 计算平均成绩和不及格人数
printf("按成绩由高到低排序的学生信息:\n");
printf("学号 成绩\n");
for (i = 0; i < n; i++) {
printf("%d %.2f\n", arr[i].id, arr[i].score);
}
return 0;
}
The text was updated successfully, but these errors were encountered: