程序:
/*
* Copyright(c)2013,
*All right reserved.
*文件名称:test5-8.cpp
*作 者:徐驰
*完成日期:2013-12-7
*版 本 号:v1.0
*
*输入描述:设score数组中存储同学们的C++成绩,增加一个数组string name[20]并赋初
值,表示同学们的姓名。这两个数组中,同学的姓名与成绩的下标保持一致
(例如name[1]和score[1]表示同一位同学的姓名和C++成绩)。请(1)输出
按成绩排序后的同学的名单;(2)输出按同学姓名排序后的成绩单(排序对
象是字符串)。
*问题描述:略
*程序输出:略
*问题分析:略
*算法分析:略
*/
#include<iostream>
#include<string>
using namespace std;
void main()
{
string name[20],sCompare;
int score[20],iCompare;
int i,j;
for(i=0;i<5;++i)
cin>>name[i]>>score[i];
cout<<endl;
for(i=0;i<5;++i)
cout<<name[i]<<"\t"<<score[i]<<endl;
cout<<endl;
for(i=0;i<5;++i)
{
for(j=i;j<5;++j)
{
if(score[j]>score[i])
{
iCompare=score[i];
score[i]=score[j];
score[j]=iCompare;
sCompare=name[i];
name[i]=name[j];
name[j]=sCompare;
}
}
}
for(i=0;i<5;++i)
cout<<name[i]<<"\t"<<score[i]<<endl;
}
结果: