QZHY-HTX / Data-Structure

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

2302580024 颜云珍 #48

Open yanyz0 opened 7 months ago

yanyz0 commented 7 months ago

include

// 定义结构体存储学生信息 typedef struct student { int pl; // 学号 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].pl, &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].pl, arr[i].score); } return 0; }