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

(2)输入两个字符串,将两个字符串拼接起来,形成一个大的字符串。(与strcat函数的功能相同)以上问题都需要用指针处理。顺便注释它的作用哦,否则我不采纳的... (2)输入两个字符串,将两个字符串拼接起来,形成一个大的字符串。(与strcat函数的功能相同)
以上问题都需要用指针处理。
顺便注释它的作用哦,否则我不采纳的
展开
 我来答
听不清啊
高粉答主

推荐于2017-11-27 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
#include<stdio.h>
int main( )
{char s[100],*p,*p1,*p2,c;
gets(s); //读取字符串
for(p=s;*p;p++); //求得串长,p指向'\0'
p--; //冒泡排序外循环终点
for(p1=s;p1<p;p1++,p--) //此二重循环为冒泡排序
for(p2=s;p2<p;p2++)
if(*p2>*(p2+1))
{c=*p2;*p2=*(p2+1);*(p2+1)=c;}
puts(s);
return 0;
}

程序2:
#include<stdio.h>
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;
}
追问
等我回去试试先,要是符合我的要求的话,我绝对会采纳的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式