输入代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:sum123.cpp
* 作 者:林海云
* 完成日期:2014年 11 月 29 日
* 版 本 号:v2.0
*
* 问题描述:带姓名的成绩单进行整理排名,成绩排名和姓名排名
* 输入描述:
* 程序输出:成绩排名和姓名排名
*/
#include<iostream>
#include<string>
using namespace std;
const int num=8;
int main()
{
int i,j,t;
string temp;
string name[num]={"zhao","qian","sun","li","zhou","wu","zheng","wang"};
double score[num]={79,84,65,89,60,92,78,56};
for(i=0;i<num-1;++i)
{
for(j=0;j<num-i-1;++j)
if(score[j]>score[j+1])
{
t=score[j];
score[j]=score[j+1];
score[j+1]=t;
temp=name[j];
name[j]=name[j+1];
name[j+1]=temp;
}
}
cout<<"按成绩排序的结果为:" <<endl;
for(i=0;i<num;++i)
cout<<name[i]<<": "<<score[i]<<"分"<<endl;
for(i=0;i<num-1;++i)
{
for(j=0;j<num-i-1;++j)
if(name[j]>name[j+1])
{
temp=name[j];
name[j]=name[j+1];
name[j+1]=temp;
t=score[j];
score[j]=score[j+1];
score[j+1]=t;
}
}
cout<<"按姓名排序的结果为:"<<endl;
for(i=0;i<num;++i)
cout<<name[i]<<": "<<score[i]<<"分"<<endl;
return 0;
}
运行结果:
总结:之前不知给出模板中的temp有什么用,后来在使用冒泡法排序时才想到用到它当name[num]数组的中介比较作用