从键盘输入10个学生的姓名和成绩,按字典序排列学生的姓名并输出(姓名和成绩对应关系保持不变)
2013-04-09 17:09
746 查看
内容:输入10个学生的姓名和成绩,按字典序排列学生的姓名并输出(姓名和成绩对应关系保持不变)
目的:掌握字符串的排序方法
程序代码:
运行结果:
![](http://img.my.csdn.net/uploads/201304/13/1365821539_8573.png)
感悟:其实字符串的排序方法是和数字的排序方法是一样的,所以掌握了数字的排序,也就掌握了字符串的排序了
题目来源:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1334
目的:掌握字符串的排序方法
程序代码:
/* * 程序的版权和版本声明部分: * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:匡效国 * 完成日期:2013 年 4 月 09 日 * 版 本 号:v1.0 * * 对任务及求解方法的描述部分: * 输入描述: 输入共11行,前10行每行是一个学生的姓名, * 最后一行是10个用空格分开的整数表示对应 * 的10个学生成绩。 * 问题描述:按字典序排列学生的姓名并输出(姓名和成绩对应关系保持不变) * 程序输出:见下图 * 问题分析:略 * 算法设计:略 */ #include <iostream> #include <string> using namespace std; int main() { int i,j,temp2,a[10];//定义一个长度为10的数组a string name[10],temp1;//定义长度为10的字符串数组name for(i=0;i<=9;i++)//循环输入学生名字 cin>>name[i]; for(i=0;i<=9;i++)//循环输入学生成绩 cin>>a[i]; for(i=0;i<9;i++)//使用双层循环,对名字进行排序 { for(j=0;j<9-i;j++) { if(name[j]>name[j+1])//如果前者大于后者,两者进行交换,同时对应成绩也进行交换 { temp1=name[j]; name[j]=name[j+1]; name[j+1]=temp1; temp2=a[j]; a[j]=a[j+1]; a[j+1]=temp2; } } } cout<<endl; for(i=0;i<=9;i++)//循环输出排列好的名字和成绩 cout<<name[i]<<","<<a[i]<<endl; return 0; }
运行结果:
![](http://img.my.csdn.net/uploads/201304/13/1365821539_8573.png)
感悟:其实字符串的排序方法是和数字的排序方法是一样的,所以掌握了数字的排序,也就掌握了字符串的排序了
题目来源:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1334
相关文章推荐
- 习题 9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入10个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。
- 综合排序 学生信息输入并排序 键盘录入信息 (姓名,语文成绩,数学成绩,英语成绩),按总分高到低输出
- 从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩、平均分数)
- 转: 提示用户分别输入10个学生的成绩(百分制), 最后输出各个学员序号对应的成绩。
- PHP之键盘输入四个学生的学号 姓名 语文 数学 英语信息 ,计算出每个学生的平均成绩,输出
- 有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
- 输入10个学生的姓名、学号和成绩,将其中不及格者输出
- 提示用户分别输入10个学生的成绩(百分制), 最后输出各个学员序号对应的成绩。
- chapter5课后习题——输入10个学生姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出
- 输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。
- 有五个学生,每个学生有3门课的成绩, 从键盘输入以上数据(包括姓名,三门课成绩), 输入的格式:如:zhagnsan,30,40,60计算出总成绩, 并把学生的信息和计算出的总分数高低顺序存放在磁盘文
- 编程题:用二维字符串数组实现。从键盘输入三个学生姓名,并输出。
- java 从键盘输入学生成绩,找出最高分,并输出学生成绩等级;
- 某班有20名学生,从键盘输入这20名学生的成绩存放在数组中,实现由大到小输出。
- 文件操作:有五个学生,每个学生有 3 门课的成绩,从键盘输入以上数据(包 括学生号,姓名,三门课成绩),计算出平均成绩,将所输入有的数据和计算出 的平均分数存放在磁盘文件 "stud "中
- 从键盘输入10个学生的成绩并储存在列表中,求成绩最高者的序号和成绩
- 有五个学生,每个学生有3门课(语文、数学、英语)的成绩, * 写一个程序接收从键盘输入学生的信息,输入格式为:name,30,30,30(姓名,三门课成绩)
- 有5个学生每个学生有3门课程的成绩,从键盘输入学生数据(包括学号,姓名,3门成绩)。
- 输入3个学生的学号、姓名和三门功课成绩,输出平均分最高的同学
- 键盘输入学号,显示学生姓名,成绩,排名等信息