/*
*Copyright (C) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称 :mian.cpp
*作 者 :韩娟
*完成日期 :2014年11月27日
*版 本 号 :v1.0
*
*问题描述 : 按成绩高低输出,和按姓名排序输出
*输入描述 :略
*程序输出 :按成绩高低输出,和按姓名排序输出
*/
#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;//(1)按成绩排序并输出结果
for(i=0;i<num-1;++i)
{
for(j=0;j<num-i-1;++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(j=0;j<num;++j)
{
cout<<name[j]<<":"<<score[j]<<endl;
}
cout<<"同学们按姓名排序为:"<<endl;//(2)按姓名排序并输出结
for(i=0;i<num-1;++i)
{
for(j=0;j<num-i-1;++j)
if(name[j]>name[j+1])
{
temp=name[j];
name[j]=name[j+1];
name[j+1]=temp;
t=score[j];
score[j]=score[j+1];
score[j+1]=t;
}
}
for(j=0;j<num;++j)
{
cout<<name[j]<<":"<<score[j]<<endl;
}
}
知识点总结 :
这个程序要注意名字是一个字符串,排序时前面的定义要小心,还有就是使用到前面的知识,冒泡排序,才能做好这个程序。
学习心得 :
对于这个程序我相当于温习了以前的冒泡排序,这个要注意条件,才能没有错。