C语言(1)输入1个字符串,对该字符串按字符大小从小到大的顺序排序,然后输出这个已经排好序的字符串。

2024年11月22日 18:58
有1个网友回答
网友(1):

#include
int main( )
{char s[100],*p,*p1,*p2,c;
gets(s); //读取字符串
for(p=s;*p;p++); //求得串长,p指向'\0'
p--; //冒泡排序外循环终点
for(p1=s;p1 for(p2=s;p2 if(*p2>*(p2+1))
{c=*p2;*p2=*(p2+1);*(p2+1)=c;}
puts(s);
return 0;
}

程序2:
#include
int main( )
{char s1[100],s2[100],s3[200],s4[200],*p,*p1,*p2;
gets(s1); //读取二个字符串
gets(s2);
for(p=s1,p1=s3;*p;) //复制s1到s3前部
*(p1++)=*(p++);
for(p=s2;*p;) //复制s2到s3后部
*(p1++)=*(p++);
*p1=*p; //设置字符串尾
for(p=s2,p1=s4;*p;) //复制s2到s4前部
*(p1++)=*(p++);
for(p=s1;*p;) //复制s1到s4后部
*(p1++)=*(p++);
*p1=*p; //设置字符串尾
for(p1=s3,p2=s4;*p1==*p2;p1++,p2++); //比较s3与s4逐个字符的大小,直到遇到不同的字符
if(*p1>*p2)puts(s3); //输出较大字符所在的字符串
else puts(s4);
return 0;
}