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;
}