将成绩从高到低进行排序后输出
发布网友
发布时间:2022-05-05 23:59
我来回答
共1个回答
热心网友
时间:2022-06-28 08:41
#include<iostream.h>
void main()
{
struct student
{
char name[20];
short score;
};
short total=0;
student stu[8],s;
double average;
short i,j,k,max;
for(i=1;i<=8;i++)
{
cout<<"请输入第"<<i<<"位学生的名字"<<endl;
cin>>stu[i-1].name;
cout<<"请输入第"<<i<<"位学生的英语成绩"<<endl;
cin>>stu[i-1].score;
total+=stu[i-1].score;
}
average=total/8.0;
cout<<"平均分为"<<average<<endl;
for(i=0;i<7;i++)
{
k=i;
max=stu[i].score;
for(j=i+1;j<8;j++)
if(stu[k].score<stu[j].score)
k=j;
s=stu[i];
stu[i]=stu[k];
stu[k]=s;
}
cout<<"分数最高的学生姓名:"<<stu[0].name<<endl<<"最高分为:"<<stu[0].score<<endl;
for(i=1;i<=8;i++)
cout<<"第"<<i<<"名"<<stu[i-1].name<<'\t'<<stu[i-1].score<<endl;
cout<<endl;
}
以上程序我已试运行过,正确无误.
你怎么不悬赏分呀?晕...