题目来源:https://acm.ujn.edu.cn

Problem A: 【C++ 字符串】 输入三个人名,按字母顺序排序输出

Time Limit: 1 Sec  Memory Limit: 128 MB

Description

输入三个人名,按字母顺序对其进行排序,然后输出。要求使用C++的string类型。

Input

三个人名,可以包含空格

Output

排序后的人名,每个人名占一行

Sample Input

Mike
Mary
Jim Green

Sample Output

Jim Green
Mary
Mike

 1 #include<iostream>
2 #include<string>
3 using namespace std;
4 int main()
5 {
6 string string1,string2,string3,temp;//定义
7
8 //从每行输入一个可以包含空格的字符串
9 getline(cin,string1);
10 getline(cin,string2);
11 getline(cin,string3);
12 // 先保证str2小于等于str3
13 if(string2>string3)
14 {
15 temp=string2;
16 string2=string3;
17 string3=temp;
18 }
19 // 如果str1恰好小于str2 按顺序输出即可
20 if(string1<=string2)
21 {
22 cout<<string1<<endl<<string2<<endl<<string3<<endl;
23 }
24 // 其他情况下(str1>str2),
25 // 如果str1小于等于str3,则 str1在2和3中间
26 else if(string1<=string3)
27 {
28 cout<<string2<<endl<<string1<<endl<<string3<<endl;
29 }
30 //其他情况,就剩1>2但1>3,又因为2<3 ,所以按231顺序输出
31 else
32 cout<<string2<<endl<<string3<<endl<<string1<<endl;
33
34 return 0;
35 }

这道题是之前的作业题,重点在于理解题意

要能明白按字母顺序排,其实就是比较ASCII码,就是去比较字符串大小

(好久不做就不会做了,刚开始想偏了,想用at()函数从第一个开始比较,但这种思路就显得很复杂,多层循环嵌套,效率也不好)

(来自杏花疏影的叨叨叨:字符串这函数好多,还是需要时间梳理,慢慢来叭,今天就不做新题了,看了看作业题,感觉都已经不太会写了)

【C++ 字符串题目】 输入三个人名,按字母顺序排序输出的更多相关文章

  1. 20150912华为机考2之"输入一段字符串(英文),将每个单词首字母大写后输出"

    还有其他一些(隐性)要求(要不然无法通过测试): .如果首字母已经大写,则不用变 .不是英文字母的不变 e.g. Input: hello world! this is _Ljj speaking! ...

  2. 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)

    因公司业务需要,自己写了一个,保存起来以后可能还会用到.如果还有更好的方法或者算法,希望大家提出来. 1.简单的相似度算法(自己想到的)      因为List中每个String都会包含一个标准的字符 ...

  3. 实验五:任意输入10个int类型数据,排序输出,并找出素数

    源代码: package 数组;import java.util.*;public class vvv { public static void main(String[] args) { Scann ...

  4. 实验五:任意输入10个int类型数据,排序输出,再找出素数

    一.程序编写 import java.util.*;public class Port {  public static void main(String[] args) {  // TODO 自动生 ...

  5. ytu 1064: 输入三个字符串,按由小到大的顺序输出(水题,字符串处理)

    1064: 输入三个字符串,按由小到大的顺序输出 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 471  Solved: 188[Submit][Sta ...

  6. 输入三个整数x、y、z,请把这三个数由小到大输出

    题目:输入三个整数x,y,z,请把这三个数由小到大输出. 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> ...

  7. C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化

      一.字符串输入输出函数 1.  cin.get()   逐个字符输入输出 2.  cin 可以将整个字符串一次性输入,但是,cin将空格.Tab和回车键,因此不能用于数组的一次性输入. 注意:ci ...

  8. 15 输入三个整数x,y,z,请把这三个数由小到大输出。

    题目:输入三个整数x,y,z,请把这三个数由小到大输出. public class _015ThreeNumberSort { public static void main(String[] arg ...

  9. 字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人

    输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 ...

随机推荐

  1. 居中select中的option选项

    select经常有长短不一的选项:选择不同的选项居中不会生效: 使用text-align:center;text-align-last: center;  可以让所有选项都居中: 关于text-dec ...

  2. iOS开发 将html 富文本文字 转换成oc 的富文本

    - (NSMutableAttributedString *)mf_htmlAttribute:(NSString *)htmlString{ htmlString = [NSString strin ...

  3. Struts2-day1总结

    1.Struts2的基本执行流程(详见我的博客) 2.Struts2的分模块开发 如果有多个项目的Struts.xml写在一起,容易造成数据混乱,所以可以使用分模块的方法,在项目下新建*.xml配置文 ...

  4. mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz (有必要解释一下)

    大部分软件我们接触的时候会发现,起的名称有点怪异,所以我觉得有必要解释一下. 比如: mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz 名称 ...

  5. js刷新页面window.location.reload()

    window.location.reload()刷新当前页面 window.parent.location.reload()刷新父亲对象(用于框架) opener.location.reload()刷 ...

  6. Mybatis结果集映射问题

    之前的数据库图简单都是纯小写格式,这一次做项目为了显得正规一些,模拟实际的情况,采用了驼峰命名的规则,这时候就遇到了结果匹配的问题. 之前只要 <select id="select&q ...

  7. vue3 - 事件处理之事件修饰符

    内容取自>> <!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- ...

  8. python 面试题汇总

    1丶元组(list)和列表(tuple)的区别: 一:共同点: ①: 可以放置任意数据类型的有序集合,都是可以存放数字,字符串,对象等. ②:都支持 负索引,切片,随意嵌套等操作 二:不同点: ①: ...

  9. MDL锁

    mdl锁的主要作用是用来维护表元数据的一致性.在表上有活动事务的时候,不可以对表元数据进行修改操作. 如果没有MDL锁的保护,那么session2可以直接执行,并导致session1出错. MDL锁是 ...

  10. spring boot的配置文件

    1.SpringBootApplication是标志启动类,启动后可以把这个类所在的包资源发布到服务器,不用再启动tomcat 2.利用spring boot工程可以和以前一样直接在Controlll ...