c语言 输入三个字符串,按重小到大顺序输出(求简单的算法)

//第2题:输入三个字符串,按重小到大顺序输出,以指针方式实现#include<stdio.h>#include<string.h>voidchognzu(char*a,... //第2题:输入三个字符串,按重小到大顺序输出,以指针方式实现
#include <stdio.h>
#include <string.h>
void chognzu(char *a,char *b,char *c)
{
int x,y,z;
char *p1,*p2,*p3;
x=strlen(a);
y=strlen(b);
z=strlen(c);
if(x>y)
{
if (x>z)
{ if(y>z)
p1=a,p2=b,p3=c;
else
p1=a,p2=c,p3=b;
}
if(x<z)
p1=c,p2=a,p3=b;
}

else //(y>x)
{
if(x<z)
{
if(y>z)
p1=b,p2=c,p3=a;
else
p1=c,p2=b,p3=a;
}
if(x>z)
p1=b,p2=a,p3=c;
}
printf("%s %s %s\n",p3,p2,p1);
}

void main()
{
char a[100];
char b[100];
char c[100];
gets(a);
gets(b);
gets(c);
chognzu(a,b,c);
}
展开
 我来答
听不清啊
高粉答主

2013-12-11 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include <stdio.h>

#include <string.h>

void chognzu(char *a,char *b,char *c)

{

  char *p;

  if (strcmp(a,b)>0)            /*比较字符串a与b的大小,如a>b就交换,下同*/

{p=a;a=b;b=p;}

  if (strcmp(a,c)>0)

{p=a;a=c;c=p;}

  if (strcmp(b,c)>0)

{p=b;b=c;c=p;}

  printf("After sort:\n%s\n%s\n%s\n",a,b,c);

}

  

void main()

{

  char a[100];

    char b[100];

  char c[100];

gets(a);

gets(b);

gets(c);

        chognzu(a,b,c);

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式