/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:梁璨
*完成日期:2014年 11月 27日
*版本号:v1.0
*
*问题描述:某班不超过100名同学,用二维数组score[ ][4]保存同学们的高数、英语、C++成绩及总成绩(在此假设学生的学号为整形的连续值,用数组的行下标作学号)。在此基础上,完成相应的要求;
*程序输入:输入学生人数、学生三科的成绩;
*程序输出:输出各门课及总分的最高成绩、最低成绩、平均成绩;
*/
#include <iostream>
#include <string>
using namespace std;
const int num=8;
int main()
{
int i,j,t;
string temp;
string name[num]= {"zhao","qian","sun","li","zhou","wu","zheng","wang"};
double score[num]= {79,84,65,89,60,92,78,56};
cout<<"按成绩排序并输出结果:"<<endl;
for(i=0; i<num; i++)
{
for(j=0; j<num-i; j++)
{
if(score[j]<score[j+1])
{
t=score[j];
score[j]=score[j+1];
score[j+1]=t;
temp=name[j];
name[j]=name[j+1];
name[j+1]=temp;
}
}
}
for(i=0; i<num; i++)
{
cout<<name[i]<<":"<<score[i]<<endl;
}
cout<<"按姓名排序并输出结果:"<<endl;
for(j=0;j<num;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;
}
}
}
for(i=0;i<num;i++)
{
cout<<name[i]<<":"<<score[i]<<endl;
}
return 0;
}
运行结果: