/*
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作 者: 刘中林
* 完成日期:2013 年 12 月 06 日
* 版 本 号:v1.0
* 输入描述: 无
* 问题描述:带姓名的成绩单
*/
#include <iostream>
using namespace std;
int main()
{
int i,j,k,t,score[20];
string name[20]= {"shang","liu","niu","tian","li"};
cout<<"依次输入他们的成绩:"<<endl;
for(i=0; i<5; i++)
{
cout<<name[i]<<"的成绩为:";
cin>>score[i];
}
for(i=0; i<4; i++)
{
k=i;
for(j=i+1; j<5; j++)
{
if(score[j]>score[k])
{
k=j;
}
}
t=score[k];
score[k]=score[i];
score[i]=t;
name[19]=name[k];
name[k]=name[i]; //用一个定义的string的数组做中间变量,进行替换
name[i]=name[19];
}
cout<<"按成绩输出的名单:"<<endl;
for(i=0; i<5; i++)
{
cout<<name[i]<<": "<<score[i]<<endl;
}
for(i=0; i<4; i++)
{
k=i;
for(j=i+1; j<5; j++)
{
if(name[j]<name[k])
{
k=j;
}
}
t=score[k];
score[k]=score[i];
score[i]=t;
name[19]=name[k];
name[k]=name[i];
name[i]=name[19];
}
cout<<"按姓名输出的名单:"<<endl;
for(i=0; i<5; i++)
{
cout<<name[i]<<": "<<score[i]<<endl;
}
return 0;
}
*样例输出:
*心得体会:时隔两个月,今天再去海边,它建起了围栏以防风沙飞舞进入居民区。时刻加强自己身上的资本,以防风暴。。。加油!!!