/*
* 程序的版权和版本声明部分
* Copyright (c)2012, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: array.cpp
* 作 者: 徐汉玉
* 完成日期: 2012 年11 月28日
* 版本号: v1.0
*
* 输入描述:无
* 问题描述:
*/
#include<iostream>
using namespace std;
void paiming(int a[],char name[][5],int num);
void paixu(int a[],char name[][5],int num);
int main()
{
int i, score[5]={2,1,3,4,5};
char name[][5]={"老李","老孙","老子","老牛","老仙"};
cout<<"几个人的成绩如下"<<endl;
cout<<"按成绩排序如下"<<endl;
paixu(score,name,5);
for(i=0;i<5;i++){
cout<<name[i]<<" ";
cout<<score[i];
cout<<endl;
}
cout<<"按姓名排序如下"<<endl;
paiming(score,name,5);
for(i=0;i<5;i++){
cout<<name[i]<<" ";
cout<<score[i];
cout<<endl;
}
return 0;
}
void paixu(int a[],char name[][5],int num){
int i,j,t;
char temp[5];
for(j=0;j<num-1;j++)
for(i=0;i<num-j-1;++i){
if(a[i]>a[i+1]){
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
strcpy(temp,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],temp);
}
}
}
void paiming(int a[],char name[][5],int num){
int i,j,t;
char temp[5];
for(j=0;j<num-1;j++)
for(i=0;i<num-j-1;++i){
if(strcmp(name[i],name[i+1])>0){
strcpy(temp,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],temp);
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
}
运行结果: