输入3个字符串,按从小到大的顺序输出,需用到指针和函数

如题所述

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;

}

扩展资料:

char用法:

char是计算机编程语言(c、c++、java、VFP等)中可容纳单个字符的一种基本数据类型。

char是一个数据类型,作用是定义字符型变量(单个或是字符串)。

比方int是整形数据,int a=3;这里int是类型,a是整型变量,3是赋值;

char s='A';char是字符类型,s是字符型变量,A是赋值给变量s;

char s[]="c program";char是字符类型,s[]是字符型数组,"c program"是赋给数组的值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-27
其实可以使用三个 指针。
char str1[]= "";str2[]= "";str3[]= "";
int *p1 = str1;*p2 = str2;*p3 = str3;

int res1= strcmp(p1,p2);
int res2= strcmp(p1,p3);
int res3= strcmp(p2,p3);
if (res1 * res2 <0)
{
printf("%s %s %s", (res3<0?p2:p3),p1, (res3<0?p3:p2));
}
else if(res1 == res2)
{
if(res1>=0)printf("%s %s %s", (res3<0?p2:p3), (res3<0?p3:p2),p1);
else printf("%s %s %s",p1, (res3<0?p2:p3), (res3<0?p3:p2));
}

三目运算符 可以很好利用追问

初学者看不懂啊,能不能用一些基础的语言

本回答被提问者采纳