一些项目——输入三个字符串,按由小到大的顺序输出

Description

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

Input

3行字符串

Output

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

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

Sample Input

cde
afg
abc

Sample Output

abc
afg
cde
abc
afg
cde

代码

#include <iostream>
#include <cstring>
using namespace std;
void sort1(char *s1,char *s2,char *s3)
{
    char t[100];
    if(strcmp(s1,s2)>0)
    {
        strcpy(t,s1);
        strcpy(s1,s2);
        strcpy(s2,t);
    }
    if(strcmp(s2,s3)>0)
    {
        strcpy(t,s3);
        strcpy(s3,s2);
        strcpy(s2,t);
    }
    if(strcmp(s1,s2)>0)
    {
        strcpy(t,s1);
        strcpy(s1,s2);
        strcpy(s2,t);
    }
}
void sort2(string &s1,string &s2,string &s3)
{
    string t;
    if(s1>s2)
    {
        t=s1;
        s1=s2;
        s2=t;
    }
    if(s2>s3)
    {
        t=s3;
        s3=s2;
        s2=t;
    }
    if(s1>s2)
    {
        t=s1;
        s1=s2;
        s2=t;
    }
}
int main()
{
    void sort1(char *,char *,char *);
    void sort2(string &,string &,string &);
    char s1[100],s2[100],s3[100];
    char *p1,*p2,*p3;
    string r1,r2,r3;
    cin>>s1>>s2>>s3;
    r1=string(s1);
    r2=string(s2);
    r3=string(s3);
    p1=s1;
    p2=s2;
    p3=s3;
    sort1(p1,p2,p3);
    cout<<s1<<endl<<s2<<endl<<s3<<endl;
    sort2(r1,r2,r3);
    cout<<r1<<endl<<r2<<endl<<r3<<endl;
    return 0;
}
时间: 2024-08-25 21:57:16

一些项目——输入三个字符串,按由小到大的顺序输出的相关文章

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

1064: 输入三个字符串,按由小到大的顺序输出Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 471  Solved: 188[Submit][Status][Web Board] Description 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. Input 3行字符串 Output 按照从小到大输出成3行.由指针方式实现. 按照从小到大输出成3行.由引用方式实现. Sample In

OJ刷题之《输入三个字符串,按由小到大的顺序输出》

题目描述 输入三个字符串,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. 输入 3行字符串 输出 按照从小到大输出成3行.由指针方式实现. 按照从小到大输出成3行.由引用方式实现. 样例输入 cde afg abc 样例输出 abc afg cde abc afg cde 提示 主函数已给定如下,提交时不需要包含下述主函数 /* C++代码 */ int main() { void sort1(char *,char *,char *); void so

OJ刷题之《输入三个整数,按由小到大的顺序输出》

题目描述 输入三个整数,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. 输入 三个整数 输出 由小到大输出成一行,每个数字后面跟一个空格.由指针方式实现. 由小到大输出成一行,每个数字后面跟一个空格.由引用方式实现. 样例输入 2 3 1 样例输出 1 2 3 1 2 3 提示 主函数已给定如下,提交时不需要包含下述主函数 /* C++代码 */ int main() { void sort1(int *,int *,int *); void sort2

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

【c语言】输入3个数,要求按从小到大顺序输出

// 输入3个数,要求按从小到大顺序输出 #include <stdio.h> int main() { int a,b,c,t; printf("请输入三个数:"); scanf("%d%d%d",&a,&b,&c); if(a > b) { t = a; a = b; b = t; } if(a > c) { t = a; a = c; c = t; } if(b > c) { t = b; b = c; c

将字符串&quot;BASIC&quot;按照相反顺序输出

将字符串"BASIC"按照相反顺序输出. 程序1:用cout.put输出单个字符的成员函数put #include<iostream> using namespace std; int main() { char *p = "BASIC"; int i = 0; for (i = 4; i >= 0; i--) { cout.put(*(p + i)); } cout.put('\n'); system("pause"); re

输入3个字符串,按字符串由短到长的顺序输出

输入3个字符串,按字符串由短到长的顺序输出,要求使用指针. #include "stdafx.h" #include<iostream> #include<string.h> #include<stdio.h> using namespace std; char a[80],b[80],c[80]; char *p1,*p2,*p3; //输入三个字符串,三个字符型指针分别三个字符串 int _tmain(int argc, _TCHAR* argv

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

输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 b= 9 c=30 a>b 交换 a=9 b=18 可不可以用选择法?可不可以用冒泡法?但是这里用不着 例题: string1 string2 string3 temp a=18 b= 9 c=30 b>c? 交换 b中放的是b 和 c 中小的数,c中放的是bc中大的数. 如果a<b,则输出

编程题:用二维字符串数组实现。从键盘输入三个学生姓名,并输出。

#include<stdio.h> #include<string.h> void main() { char name[3][30]; int i; for(i=0;i<3;i++) gets(name[i]);  /*name[i]是一个一维字符数组*/ for(i=0;i<3;i++) printf("%s\n",name[i]); } 编程题:用二维字符串数组实现.从键盘输入三个学生姓名,并输出.,布布扣,bubuko.com