急!请高手教教我如何用一个函数,使下列程序输出时按总分即stu[i].score[3],从高到低排列

来源:百度知道 编辑:UC知道 时间:2024/06/14 12:10:56
#include <stdio.h>
void main()
{struct student
{int num;
int score[5];
}stu[10];
int i;
for(i=0;i<=9;i++)
{printf("请依次输入第 %d 个学生的学号及数学,英语,计算机基础课的成绩\n",i+1);
scanf("%d%d%d%d",&stu[i].num,&stu[i].score[0],
&stu[i].score[1],&stu[i].score[2]);
}

for(i=0;i<=9;i++)
stu[i].score[3]=stu[i].score[0]+stu[i].score[1]+
stu[i].score[2];
stu[i].score[4]=stu[i].score[3]/3;
printf("学号 数学 英语 计算机 总分 平均分\n");
for(i=0;i<=9;i++)
printf("%-6d%-6d%-6d%-6d%-6d%-6d\n",stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2],
stu[i].score[3],stu[i].score[4]);
}
急啊!!!大家帮忙啊!!!

#include <iostream>
#include <iomanip>
using namespace std;

class Student{
private:
int num;//学号
int fmath;//数学成绩
int fenglish;//英语成绩
int fcomputer;//计算机成绩
int ftotal;//总分
int faverage;//平均分

public:
Student();

void input();

void output();

};
Student stu[3]; //定义全局对象
int i=1,j=1; //i为学生个数,j用于输出序号
int a[3]; //总分数列
int b[3]={0,1,2}; //用于存储输出序号
Student::Student(){
num=0;
fmath=0;
fenglish=0;
fcomputer=0;
ftotal=0;
faverage=0;

}

void Student::input(){

cout<<"请输入第"<<i+1<<"个学生的学号:"<<endl;

cin>>num;

cout<<"数学成绩:"<<endl;

cin>>fmath;

cout<<"英语成绩:"<<endl;