/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 霍雨佳
* 完成日期:2013 年12月5日
* 版 本 号:v1.0
* 问题描述:输出按成绩排名后的同学名单。
* 样例输入:
* 样例输出:
* 问题分析:输入同学的姓名成绩,输出按成绩排名后的同学名单。
*/
#include <iostream>
using namespace std;
int main()
{
int i,t,j,m=0,score[50]= {99,90,96,95,94,93,92,91,97,98};
string k,name[20]= {"a0","a1","a2","a3","a4","a5","a6","a7","a8","a9"};
for(j=0; j<9; j++)
{
for(i=0,m=0; i<9-j; i++, m++)
{
if(score[i]<score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
k=name[m];
name[m]=name[m+1];
name[m+1]=k;
}
}
}
for(m=0; m<10; m++)
{
cout<<name[m]<<"\t";
}
return 0;
}
运行结果:
心得体会:
这个程序写出来废了好大的劲,开始的时候不知怎么的就是老有几个数排不对,后来发现是循环次数少了一次,嘿嘿,由此看出自己的冒泡排序掌握的还是不够熟练,一定不能眼高手低,要多加练习才行,加油!