Description
输入三个字符串,按由小到大的顺序输出。分别使用指针和引用方式实现两个排序函数。在主函数中输入和输出数据。
Input
3行字符串
Output
按照从小到大输出成3行。由指针方式实现。
按照从小到大输出成3行。由引用方式实现。
Sample Input
cde
afg
abc
Sample Output
abc
afg
cde
abc
afg
cde
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
void sort1(char*p11,char*p22,char*p33)
{
void swap1(char *R,char *r);
if(strcmp(p11,p22)>0)
swap1(p11,p22);
if(strcmp(p11,p33)>0)
swap1(p11,p33);
if(strcmp(p22,p33)>0)
swap1(p22,p33);
}
void swap1(char *R,char *r)
{
char temp[100];
strcpy(temp,R);
strcpy(R,r);
strcpy(r,temp);
}
void sort2(string &r11,string &r22,string &r33)
{
void swap2(string &,string &);
if(r11>r22)
swap2(r11,r22);
if(r11>r33)
swap2(r11,r33);
if(r22>r33)
swap2(r22,r33);
}
void swap2(string &R,string &r)
{
string temp;
temp=R;
R=r;
r=temp;
}
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;
}