博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十四周项目2-带姓名的成绩单
阅读量:6939 次
发布时间:2019-06-27

本文共 2835 字,大约阅读时间需要 9 分钟。

设score[8]数组中存储8名同学的C++成绩,增加一个数组string name[8]并赋初值,表示同学们的姓名。这两个数组中,每名同学的姓名与成绩的下标要始终保持一致。

(1)输出按成绩排序后的同学的名单。

(2)输出按同学姓名排序后的成绩单(排序对象是字符串)。

/* *Copyright (c) 2014,烟台大学计算机学院 *All gight reserved. *文件名称:temp.cpp *作者:邵帅 *完成时间:2014年11月27日 *版本号:v1.0*/#include
#include
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 }; // (1)按成绩排序并输出结果 for (j = 1; j <= num-1; j++) for (i = 0; i < num - j; i++) if (score[i] < score[i + 1]) { t = score[i]; temp = name[i]; score[i] = score[i + 1]; name[i] = name[i + 1]; score[i + 1] = t; name[i + 1] = temp; } cout << "按成绩排序后输出的结果为:" << endl; for (i = 0; i < num; i++) cout << name[i] << ":" << score[i] << endl; // (2)按姓名排序并输出结果 for (j = 1; j <= num-1; j++) for (i = 0; i < num - j; i++) if (name[i] > name[i + 1]) { t = score[i]; temp = name[i]; score[i] = score[i + 1]; name[i] = name[i + 1]; score[i + 1] = t; name[i + 1] = temp; } cout << "按姓名排序后输出的结果为:" << endl; for (i = 0; i < num; i++) cout << name[i] << ":" << score[i] << endl; return 0;}
运行结果:

(3)数据由score.txt提供。

/* *Copyright (c) 2014,烟台大学计算机学院 *All gight reserved. *文件名称:temp.cpp *作者:邵帅 *完成时间:2014年11月27日 *版本号:v1.0*/#include
#include
#include
#include
using namespace std;const int num = 8;int main(){ int i=0, j, t; string temp; string name[num] = { "zhao", "qian", "sun", "li", "zhou", "wu", "zheng", "wang" }; double score[num]; // 打开文件 ifstream infile("score.txt",ios::in); if (!infile) { cerr<<"没有找到文件!"<
>score[i]; i++; } infile.close(); // (1)按成绩排序并输出结果 for (j = 1; j <= num-1; j++) for (i = 0; i < num - j; i++) if (score[i] < score[i + 1]) { t = score[i]; temp = name[i]; score[i] = score[i + 1]; name[i] = name[i + 1]; score[i + 1] = t; name[i + 1] = temp; } cout << "按成绩排序后输出的结果为:" << endl; for (i = 0; i < num; i++) cout << name[i] << ":" << score[i] << endl; // (2)按姓名排序并输出结果 for (j = 1; j <= num-1; j++) for (i = 0; i < num - j; i++) if (name[i] > name[i + 1]) { t = score[i]; temp = name[i]; score[i] = score[i + 1]; name[i] = name[i + 1]; score[i + 1] = t; name[i + 1] = temp; } cout << "按姓名排序后输出的结果为:" << endl; for (i = 0; i < num; i++) cout << name[i] << ":" << score[i] << endl; return 0;}
运行结果:

@ Mayuko

转载于:https://www.cnblogs.com/mayuko/p/4567606.html

你可能感兴趣的文章
【存储方式】SharedPreference
查看>>
[转载]wp7
查看>>
WCF初见之HelloWorld
查看>>
无限循环小数怎么换成分数形式
查看>>
抄袭一点linux的经典资料
查看>>
ASP.net MVC: 一个开源的“留言系统”
查看>>
HTTP的请求头标签 If-Modified-Since
查看>>
阻塞和死锁问题整理一
查看>>
Android 时间日期Widget 开发详解
查看>>
[置顶] java 通过classloader加载类再通过classforname实例化
查看>>
Google Web Designer – 创建引人入胜的 HTML5 网站
查看>>
Qt5中的QtGui
查看>>
动态链接库(dll)简介(转)
查看>>
将某个组中的账户移动到新的OU下
查看>>
值得珍藏的资料--触摸技术的发展史(转)
查看>>
人声音乐声检测的小例子
查看>>
从头来之【图解针对虚拟机iOS开发环境搭建】 (转)
查看>>
常用命令
查看>>
bzoj 1798: [Ahoi2009]Seq 维护序列seq 线段树 区间乘法区间加法 区间求和
查看>>
[ACM] POJ 3061 Subsequence (仿真足)
查看>>