QZHY-HTX / Data-Structure

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

颜宇汶2302270026 #30

Open baixiaohuahua opened 7 months ago

baixiaohuahua commented 7 months ago

一、提高题:

Sum1的时间复杂度为 T(N)=O(N);

Sum2的时间复杂度为 T(N)=O(;u);

fact的时间复杂度为 T(N)=O(1);

二,课后作业

include < stdio.h>

struct Student { int id; float score; };

bool compareScores(const Student &a, const Student &b) { return a.score > b.score; }

int main() { int n; printf(“请输入学生人数: ”); 扫描f(“%d”, &n);

Student *students = new Student[n];

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

// 按成绩由高到低排序 for (int i = 0; i < n - 1; ++i) { for (int j = 0; j < n - i - 1; ++j) { if (compareScores(students[j], students[j + 1])) { Student temp = students[j]; students[j] = students[j + 1]; students[j + 1] = temp; } } } printf("学生的学号和成绩按成绩从高到低排列如下:\n"); for (int i = 0; i < n; ++i) { printf("学号: %d, 成绩: %.2f\n", students[i].id, students[i].score); } float sum = 0; int failCount = 0; for (int i = 0; i < n; ++i) { sum += students[i].score; if (students[i].score < 60) { ++failCount; } } float averageScore = sum / n; printf("平均成绩为: %.2f\n", averageScore); printf("不及格学生人数为: %d\n", failCount); delete[] students; return 0; }