C语言,求三个字符串由小到大排序,不知道那里出错了!!求指点!
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void swap(char *p1,char *p2)
{
char * c;
c=p1;
p1=p2;
p2=c;
}
int main(void)
{
char ch1[50];
char ch2[50];
char ch3[50];
char * q1=ch1;
char * q2=ch2;
char * q3=ch3;
printf("请输入三个字符串\n");
scanf("%s",ch1);
scanf("%s",ch2);
scanf("%s",ch3);
printf("\n");
if(strcmp(ch1,ch2)>0)
swap(q1,q2);
if(strcmp(ch1,ch3)>0)
swap(q1,q3);
if(strcmp(ch2,ch3)>0)
swap(q2,q3);
printf("%s\n",ch1);
printf("%s\n",ch2);
printf("%s\n",ch3);
return 0;
}
#include<string.h>
#include<stdlib.h>
void swap(char *p1,char *p2)
{
char * c;
c=p1;
p1=p2;
p2=c;
}
int main(void)
{
char ch1[50];
char ch2[50];
char ch3[50];
char * q1=ch1;
char * q2=ch2;
char * q3=ch3;
printf("请输入三个字符串\n");
scanf("%s",ch1);
scanf("%s",ch2);
scanf("%s",ch3);
printf("\n");
if(strcmp(ch1,ch2)>0)
swap(q1,q2);
if(strcmp(ch1,ch3)>0)
swap(q1,q3);
if(strcmp(ch2,ch3)>0)
swap(q2,q3);
printf("%s\n",ch1);
printf("%s\n",ch2);
printf("%s\n",ch3);
return 0;
}
...全文
相关推荐
c语言写的根据字符串排序的算法
这涉及到两个主要的编程概念:字符串处理和排序算法。首先,让我们深入了解一下C语言中的字符串。在C中,字符串是由字符数组表示的,通常以空字符'\0'作为结束标志。
C语言程序设计-任输入五个国家的名字,按由小到大排序
任输入五个国家的名字,按由小到大排序
将三个数由小到大输出——C与C++实现
"将三个数由小到大输出的C与C++实现方法"在这个问题中,我们需要编写程序来接收三个整数输入,并按照从小到大的顺序进行输出。这是排序问题的一个简单实例,可以使用基本的冒泡排序算法的简化版来解决。下
c代码-9、有5个字符串,首先将它们按照字符串中的字符个数由小到大排列, 再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用字符串指针和指针数组实现。
由于C语言中没有内置的字符串连接操作,我们需要手动完成。我们可以遍历排序后的字符串数组,获取每个字符串的第三个字符(如果有的话),并将其添加到新字符串中。对于不足3个字符的字符串,我们输出空格。
c语言实现字典顺序排序
这个程序不仅展示了字符串处理的基本方法,还涉及了排序算法的应用。通过理解这段代码,初学者可以更好地掌握C语言的基础知识,并学会如何解决实际问题。此外,该程序还可以作为学习其他更高级排序算法的基础。


