/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:李慧慧
* 完成日期:2012 年12月15日
* 版本号:v1.0
*
* 输入描述:无
* 问题描述:定义数组,给定成绩
* 程序输出:按姓名和按成绩排序的成绩单
* 问题分析:无
* 算法设计:略
*/
#include<iostream>
#include<string>
using namespace std;
const int num=6;
int main()
{
int i,j,c;
char temp[20];
char name[num][20]={"wang","yin","sui","li","zhuang","sun"};
double score[num]={80,84,91,99,69,92};
for(i=0;i<num-1;i++)//按姓名排序
{
for(j=0;j<num-i-1;j++)
{
if(strcmp(name[j],name[j+1])>0)
{
strcpy(temp,name[j+1]);
strcpy(name[j+1],name[j]);
strcpy(name[j],temp);
c=score[j+1];
score[j+1]=score[j];
score[j]=c;
}
}
}
cout<<"按姓名排序的成绩单如下:"<<endl;
for(j=0;j<num;j++)
cout<<name[j]<<'\t'<<score[j]<<endl;
for(i=0;i<num-1;i++)//按成绩排序
{
for(j=0;j<num-i-1;j++)
{
if(score[j]<score[j+1])
{
c=score[j+1];
score[j+1]=score[j];
score[j]=c;
strcpy(temp,name[j+1]);
strcpy(name[j+1],name[j]);
strcpy(name[j],temp);
}
}
}
cout<<"按成绩排序的成绩单如下:"<<endl;
for(j=0;j<num;j++)
cout<<name[j]<<'\t'<<score[j]<<endl;
return 0;
}
运行结果:
和上周的就改一点点,这两种区别也不大呀!