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

Description

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

Input

3行字符串

Output

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

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

Sample Input

cde
afg
abc

Sample Output

abc
afg
cde
abc
afg
cde

HINT

 主函数已给定如下,提交时不需要包含下述主函数

/* C++代码 */

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;

}

#include <iostream>
#include <cstring>
using namespace std;
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;
}
void change1(char *x,char *y)
{
	char t[100];
strcpy(t,x);
strcpy(x,y);
strcpy(y,t);

}
void sort1(char *a,char *b,char *c)
{
   
  if(strcmp(a,b)>0)change1(a,b);
  if(strcmp(a,c)>0)change1(a,c);
  if(strcmp(b,c)>0)change1(b,c);
}
void change2(string &x,string &y)
{
	string t;
	t=x;
	x=y;
	y=t;
}

void sort2(string &k,string &i,string &j)
{
    if(k>i)change2(k,i);
	if(k>j)change2(k,j);
	if(i>j)change2(j,i);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值