第14周项目2-按成绩或姓名排序
2014-11-27 20:46
211 查看
问题及代码:
运行结果:
![](http://img.blog.csdn.net/20141127204556437?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTUlLQVNBMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
知识点总结:
给两个不同类型的数组按要求排序。
学习心得:
就是比较大小,比较简单的一个程序。
/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:grade.cpp *作 者:单昕昕 *完成日期:2014年11月27日 *版 本 号:v1.0 * *问题描述:设score[8]数组中存储8名同学的C++成绩,增加一个数组string name[8]并赋初值,表示同学们的姓名。这两个数组中,每名同学的姓名与成绩的下标要始终保持一致(例如name[i]和score[i]表示同一位同学(下标为i)的姓名和C++成绩,否则会张冠李戴)。 *程序输出:输出按成绩排序后的同学的名单;输出按同学姓名排序后的成绩单(排序对象是字符串)。 */ #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}; for(i=0; i<num-1; ++i) //按成绩排序并输出结果 for(j=0; j<num-1-i; ++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; } } cout<<"同学们按成绩排序的结果是:"<<endl; for(i=0; i<num; ++i) cout<<name[i]<<":"<<score[i]<<"分"<<endl; cout<<"********************"<<endl; //分隔符 for(i=0; i<num-1; ++i) //按姓名排序并输出结果 for(j=0; j<num-1-i; ++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; } } cout<<"同学们按姓名排序的结果是:"<<endl; for(i=0; i<num; ++i) cout<<name[i]<<":"<<score[i]<<"分"<<endl; return 0; }
运行结果:
知识点总结:
给两个不同类型的数组按要求排序。
学习心得:
就是比较大小,比较简单的一个程序。
相关文章推荐
- 第14周项目2-带姓名的名单(1、按成绩排序)
- 第14周项目2.2 按同学姓名排序的成绩名单
- 第十四周项目 2 带姓名的成绩单(从文件中输入成绩,成绩姓名排序)
- 第14周项目2.3 从文件中读取成绩按成绩排序的成绩单
- 第十五周项目3-带成绩的姓名排序(按姓名升序排序)
- 第14周项目3-增加保存姓名的数组输出最高成绩的名单
- 第十四周上机项目2--(1) 带姓名的成绩单 按成绩排序
- 第14周 项目2-带姓名的成绩单(3)【按照姓名排序后的成绩单】
- 第十四周 项目2.3 带姓名的成绩单(从文件中读取数据然后经过成绩排序姓名排序处理)
- 第14周项目2按名次及性首字母为同学成绩排序
- 第十四周项目二 带姓名的成绩单(按成绩排序与按姓名排序)
- 第14周 项目2-带姓名的成绩单(3)【按成绩输出的同学名单】
- 第十四周项目2.1带姓名的成绩单按成绩排序输出
- 第十五周项目3--带姓名的成绩排序(按成绩升序排列)
- 第14周项目 2 带姓名的排序
- 第14周项目2-带姓名的成绩单(2、按姓名排序)
- 第14周项目2.1 输出按成绩排序后的同学名单
- 第14周 项目2-2 按姓名进行排序
- 第十四周项目2-带姓名的成绩单(按成绩从大到小排序)