/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 李蒙
* 完成日期:2012 年12 月16 日
* 版 本 号:v1.0
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:
* 算法设计:
*/
#include <iostream>
#include <string>
using namespace std;
const num=6;
int main()
{
int i,j,t;
char temp[20];
char name[num][20]={"yang","zhang","tian","xu","li","liu"};
double score[num]={100,100,100,100,59,100};
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;
strcpy(temp,name[i]);
strcpy(name[i],name[i+1]);
strcpy(name[i+1],temp);
}
}
cout<<"按成绩排序后的成绩单:"<<endl;
for(i=0;i<num;i++)
cout<<name[i]<<'\t'<<score[i]<<endl;
//按人名排序
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=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;
}
心得体会:找错找了半天,竟然是strcmp敲成了strcpy 我嘞个去