/*
*程序的版权和版本声明部分:
*Copyright(c)2013,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:
*完成日期:2013年 12月5号
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述:
*问题描述:(1):输出按成绩排序后的同学名单;
(2):输出按同学姓名排序后的成绩单。
*程序输出:无
*问题分析:
*算法设计:
*/
#include <iostream>
using namespace std;
int main()
{
int i,j,k,t,score[20];
string name[20]= {"vb","dj","lk","ln","fh","lq","td","lx","wr","ad"},c;
for(i=0; i<10; i++)
{
cin>>score[i];
}
cout<<"按成绩输出的名单:"<<endl;
for(i=0; i<9; i++)
{
k=i;
for(j=i+1; j<10; j++)
{
if(score[j]>score[i])
{
k=j;
t=score[k]; //选择法排序!!
score[k]=score[i];
score[i]=t;
c=name[k];
name[k]=name[i];
name[i]=c;
}
}
}
for(i=0;i<10; i++)
{cout<<name[i]<<": "<<score[i]<<endl;}
cout<<"按姓名输出的名单:"<<endl;
for(i=0; i<9; i++)
{
for(j=0;j<9-i;j++)
{
if(name[j]>name[j+1])
{
t=score[j];
score[j]=score[j+1];
score[j+1]=t;
c=name[j]; //冒泡法排序!!
name[j]=name[j+1];
name[j+1]=c;
}
}
}
for(i=0; i<10; i++)
{cout<<name[i]<<": "<<score[i];
cout<<endl;
}
return 0;
}
心得:练了练冒泡和选择。。