#include <bits/stdc++.h> using namespace std; struct Stu{ int num; string name; int score[3]; int all; }; void sort(Stu students[],int i){ int temp; for (int j=0;j<i;j++){ if (students[j].total<students[j+1].total){ temp=students[j]; students[j]=students[j+1]; students[j+1]=temp; } } } void SortStu(Stu students[],int i){ for (int j=0;j<i;j++){ students[j].total=0; for (int k=0;k<3;k++){ students[j].total+=students[j].score[k]; } } sort (students,i); } int main(){ int number=5; Stu students=new Stu[number]; for (int i=0;i<number;i++){ cin>>students[i].num>>students[i].name>>students[i].score[0]>>students[i].score[1]>>students[i].score[2]; } Sortstu(students,number); for (int i=0;i<5;i++) { cout<<students[i].num<<" "<<students[i].name<<" "<<students[i].total<<endl; } delete[] students; return 0; }
时间: 2024-04-06 10:32:50 浏览: 47
C++ using namespace std 详解
3星 · 编辑精心推荐
这段代码是一个简单的学生成绩排序程序,输入五个学生的学号、姓名、三门课程的成绩,然后按照总分从高到低排序输出学生的学号、姓名和总分。
其中定义了一个名为 Stu 的结构体,包含学号、姓名、三门课程的成绩和总分等信息。在主函数中,先定义了要输入的学生数目 number,然后使用 new 运算符动态分配了一个大小为 number 的 Stu 类型的数组 students。
接着使用循环输入每个学生的信息,然后调用 SortStu 函数进行排序,最后循环输出排序后的学生信息,并使用 delete[] 运算符释放动态分配的内存。
需要注意的是,这段代码存在一些问题,如 sort 函数的定义与 C++ 标准库中的 sort 函数冲突,应该更换函数名;还有函数 Sortstu 的调用应该改为 SortStu。
阅读全文