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);
} 展开
#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);
} 展开
1个回答
展开全部
#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);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询