/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: array.cpp
* 作 者:尹成真
* 完成日期:2012 年12 月 9日
* 版本号: v1.0
* 对任务及求解方法的描述部分:学习数组的应用问题二维数组问题!
* 输入描述:略
* 问题描述:带姓名的成绩单
* 程序输出:如下
*/
#include<iostream>
#include<string>
using namespace std;
const int num=6;
int main()
{
int i,j,t;
string temp;
string name[num]={"zhao","shi","sun","li","zhou","sun"};
double score[num]={87,89,75,90,90,99};
//(1)按成绩排序
for(j=0;j<num-1;j++)
for(i=0;i<num-j-1;i++)
{
if(score[i]<score[i+1])
{
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
}
}
cout<<"按成绩排序后的结果是:"<<endl;
for(i=0;i<num;i++)
cout<<name[i]<<"\t"<<score[i]<<endl;
//(2)按姓名排序
for(j=0;j<num-1;j++)
for(i=0;i<num-j-1;i++)
{
if(name[i]<name[i+1])
{
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
t=score[i];
score[i]=score[i+1];
score[i+1]=t;
}
}
cout<<"按同学姓名排序后有结果是:"<<endl;
for(i=0;i<num;i++)
cout<<name[i]<<"\t"<<score[i]<<endl;
return 0;
}
运行结果: