#include<iostream>
using namespace std;
struct student{
char name[21];
int score;
};//这里创建了一个结构体用来存储姓名和分数
int main(){
struct student a[100],t;
int i,j,n;
cout<<"请输入共有多少个对象,即n=";
cin>>n;
cout<<"请依次输入n个人名和分数:"<<endl;
for(i=1;i<=n;i++){
//循环读入n个人名和分数
cin>>a[i].name>>a[i].score;
}
//按分数从高到低进行排序
//冒泡排序核心代码
for(i=1;i<=n-1;i++){//变量i控制轮次,一共需要n-1轮
for(j=1;j<=n-i;j++){//第ic轮需要比较n-i次
if(a[j].score<a[j+1].score){//对分数进行排序
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
cout<<"把同学按分数从高到低排序为:"<<endl;
for(i=1;i<=n;i++){
cout<<a[i].name<<endl;
}
getchar();
return 0;
}
冒泡排序
最新推荐文章于 2022-04-17 19:03:31 发布