1064: 输入三个字符串,按由小到大的顺序输出

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 471  Solved: 188
[Submit][Status][Web Board]

Description

输入三个字符串,按由小到大的顺序输出。分别使用指针和引用方式实现两个排序函数。在主函数中输入和输出数据。

Input

3行字符串

Output

按照从小到大输出成3行。由指针方式实现。
按照从小到大输出成3行。由引用方式实现。
 

Sample Input

cde
afg
abc

Sample Output

abc
afg
cde
abc
afg
cde

 
  水题,字符串处理
  这道题还是比较有意思的,我自己用写了一个字符串比较模板函数,写了两个排序函数。重又巩固了一下这方面的基础。
  代码
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4. template <class T>
  5. int mystrcmp(const T a,const T b)
  6. {
  7. int i;
  8. for(i=;a[i]||b[i];i++){
  9. if(a[i]=='\0')
  10. return -;
  11. else if(b[i]=='\0')
  12. return ;
  13. else if(a[i]<b[i])
  14. return -;
  15. else if(a[i]>b[i])
  16. return ;
  17. }
  18. return ;
  19. }
  20.  
  21. void sort1(char *a,char *b,char *c)
  22. {
  23. char t[];
  24. if(mystrcmp(a,b)==) //a>b
  25. strcpy(t,a),strcpy(a,b),strcpy(b,t);
  26. if(mystrcmp(b,c)==) //b>c
  27. strcpy(t,b),strcpy(b,c),strcpy(c,t);
  28. if(mystrcmp(a,b)==) //a>b
  29. strcpy(t,a),strcpy(a,b),strcpy(b,t);
  30. }
  31.  
  32. void sort2(string &a,string &b,string &c)
  33. {
  34. string t;
  35. if(mystrcmp(a,b)==) //a>b
  36. t=a,a=b,b=t;
  37. if(mystrcmp(b,c)==) //b>c
  38. t=b,b=c,c=t;
  39. if(mystrcmp(a,b)==) //a>b
  40. t=a,a=b,b=t;
  41. }
  42.  
  43. int main()
  44. {
  45. void sort1(char *,char *,char *);
  46. void sort2(string &,string &,string &);
  47. char s1[],s2[],s3[];
  48. char *p1,*p2,*p3;
  49. string r1,r2,r3;
  50. cin>>s1>>s2>>s3;
  51. r1=string(s1);
  52. r2=string(s2);
  53. r3=string(s3);
  54. p1=s1;
  55. p2=s2;
  56. p3=s3;
  57. sort1(p1,p2,p3);
  58. cout<<s1<<endl<<s2<<endl<<s3<<endl;
  59. sort2(r1,r2,r3);
  60. cout<<r1<<endl<<r2<<endl<<r3<<endl;
  61. return ;
  62. }
  63.  
  64. /**************************************************************
  65. Problem: 1064
  66. User: freecode
  67. Language: C++
  68. Result: Accepted
  69. Time:4 ms
  70. Memory:1272 kb
  71. ****************************************************************/

Freecode : www.cnblogs.com/yym2013

ytu 1064: 输入三个字符串,按由小到大的顺序输出(水题,字符串处理)的更多相关文章

  1. 【C++ 字符串题目】 输入三个人名,按字母顺序排序输出

    题目来源:https://acm.ujn.edu.cn Problem A: [C++ 字符串] 输入三个人名,按字母顺序排序输出 Time Limit: 1 Sec  Memory Limit: 1 ...

  2. 输入三个数a,b,c,要示按由小到大的顺序输出

    #include<stdio.h>int main(){       double a,b,c,t;       scanf("%lf %lf %lf",&a, ...

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

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

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

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

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

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

  6. 代码实现:输入三个整数x,y,z,请把这三个数由小到大输出。

    import java.util.Arrays; import java.util.Scanner; //输入三个整数x,y,z,请把这三个数由小到大输出. public class Test { p ...

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

    输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...

  8. 编写Java程序_输入三个整数x,y,z,请把这三个数由小到大输出,请写出实现代码。(3种方法)

    要求说明: 输入三个整数x,y,z,请把这三个数由小到大输出. 实现代码: 第1种方法: import java.util.Scanner; public class xyzMaxMin{ publi ...

  9. python基础练习题(输入三个整数x,y,z,请把这三个数由小到大输出)

    day3 --------------------------------------------------------------- 实例005:三数排序 题目: 输入三个整数x,y,z,请把这三 ...

随机推荐

  1. BZOJ 4423: [AMPPZ2013]Bytehattan

    Sol 对偶图+并查集. 思路非常好,将网格图转化成对偶图,在原图中删掉一条边,相当于在对偶图中连上一条边(其实就是网格的格点相互连边),每次加边用并查集维护就可以了. 哦对,还要注意边界就是网格外面 ...

  2. 前端之css、JavaScript和DOM

    css position 一般组合 relative+absolute,以relative为父元素,absolute依照relative进行定位. opcity: 0.5 透明度 z-index: 层 ...

  3. Python自动化之语法基础

    1 第一个程序 hello world 在Linux环境下执行 vim hello.py #!/usr/bin/env python #指定解释器 print("hello world&qu ...

  4. ITIL与ITSM的联系与区别

    1.ITIL(IT Infrastructure Library)是CCTA(英国国家计算机和电信局)于20世纪80年代末开发的一套IT服务管理标准库,它把英国各个行业在IT管理方面的最佳实践归纳起来 ...

  5. 关闭EXCEL进程

    //导入Windows类库,可以获得进程ID        [DllImport("User32.dll", CharSet = CharSet.Auto)]        pub ...

  6. 【leetcode】Unique Binary Search Trees

    Unique Binary Search Trees Given n, how many structurally unique BST's (binary search trees) that st ...

  7. mysql备份与还原

    一.直接拷贝数据库文件 直接拷贝数据库文件一般是使用文件系统备份工具cp,适合小型数据库,是最可靠的. 当你拷贝数据库文件时,必须保证表没有正在使用.如果服务器在你拷贝一个表的时候改变这个表,拷贝就失 ...

  8. VC++ 之常见内存异常值

    0 VC++ 常见的内存异常值 * 0xcccccccc : Used by Microsoft's C++ Debugging runtime library to mark uninitialis ...

  9. JS 基本语句

    1.循环中必备的条件: 初始值  循环条件  状态改变   循环体 for(初始值  循环条件  状态改变)    {       循环体     } for(var i=0;i<100;i++ ...

  10. sqlserver insert 存储过程

    -- 根据表中数据生成insert语句的存储过程Create Proc proc_insert (@tablename varchar(256))  as                        ...