关于结构体和桶排序问题 ,萌新上线!

weixin_45669978 2019-10-19 06:56:59
用这种排序法怎样可以较轻松地满足“输出平均分在前3名的学生的姓名及平均分。“这个条件?
顺便指正一下下我的编程表述问题
,感谢


//编写一个程序,用结构表示一个学生的信息,每个学生的信息包括:学号、姓名、三门成绩。
//要求从键盘输入学生的数据,并输出成绩表(包括每个学生的学号、姓名、三门成绩及平均分数),并输出平均分在前3名的学生的姓名及平均分。
#include<iostream>
using namespace std;
struct M {
int ID;
char name[100];
float ch, mt, en,av[10];

};
int main()
{
M stu[10];
int i,n;
float m[100] = { 0 };

cout << "请输入学生学号、姓名、语数英成绩:" << endl;
for (i = 0; i < 10; i++)
{
cin >> stu[i].ID >> stu[i].name >> stu[i].ch >> stu[i].mt >> stu[i].en;
stu[i].av[i] = (stu[i].ch + stu[i].mt + stu[i].en) / 3;
}
for (i = 0; i < 10;i++) {
n = (int)stu[i].av[i];
m[n] =stu[i]. av[i]; //平均分排序
}

cout << "学号" << "姓名" << "语文" << "数学" << "英语" << "平均分数" << endl;
for (i = 0; i < 10; i++)
cout << stu[i].ID << stu[i].name << stu[i].ch << stu[i].mt << stu[i].en << stu[i].av << endl;

}
...全文
95 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45669978 2019-10-19
  • 打赏
  • 举报
回复
av[10]是平均分的意思,这个是不能加上去的吗?
额。。排序的话,我觉得是ok的,我调试过了,我这个是桶排序的劣制品,呵呵。
我想解决的是,用我的这个排序,怎么比较简洁地满足“输出平均分在前3名的学生的姓名及平均分。“这个条件。
萌新阶段,请见谅。
  • 打赏
  • 举报
回复
两个问题:
1、定义学生成绩的结构体时, 为什么会有 av[10];这样一个数组
2、for (i = 0; i < 10;i++) {
n = (int)stu[i].av[i];
m[n] =stu[i]. av[i]; //平均分排序
}
这个没实现排序吧,况且m这个数也没有用到。

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧