本文主要是介绍十四周项目2--带姓名的成绩单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题及代码:
/*
*Copyright(c) 2014 烟台大学计算机学院
*All rights reserved.
*文件名称:test.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;
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(i=0; i<num; i++)
cout<<name[i]<<" "<<score[i]<<endl;
cout<<"按姓名排序:"<<endl;
for(j=0; j<num-1; 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;
}
运行结果:
总结:一定要注意排序交换score元素中,同时要交换name中的相应元素,我就犯了这个错误,顺序就全错了。。。
这篇关于十四周项目2--带姓名的成绩单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!