这里是引用利用指针数组对形参所指字符串数组中的字符串按由长到短的顺序排序 ,并输出结果。
要求:
1、求字符串长度自定义函数实现;
2、排序用自定义函数实现;
3、输出结果用自定义函数实现;
4、不允许调用标准库中的字符串处理函数、排序函数;
5、根据给定的函数原型实例函数体代码。
#include <stdio.h>
#define N 5
int udf_strlen(char *s)
{
char *p=s;
while(*(p++)!='\0');
return (p-s-1);
}
void udf_sort(char *ss[])
{
int i,j;
char *temp;
for(i=0;i<N-1;i++)
{
for(j=i;j>=0;j--)
{
if(udf_strlen(*(ss+j))<udf_strlen(*(ss+j+1)))
{
temp=*(ss+j);
*(ss+j)=*(ss+j+1);
*(ss+j+1)=temp;
}
}
}
}
void udf_print(char **sss)
{
char **p=sss;
while(p-sss<N)
{
printf("%s ",*p);
p++;
}
}
int main()
{
char *ch[N]={"Red","Green","Blue","Yellow","Black"};
char **cc=ch;
int i;
printf("排序前的字符串为:\n");
udf_print(cc);
udf_sort(cc);//排序
printf("\n排序后的字符串为:\n");
udf_print(cc);
return 0;
}
该博客展示了如何使用C语言编写自定义函数来实现字符串数组的排序。首先,定义了一个计算字符串长度的函数`udf_strlen`;接着,实现了一个冒泡排序的`udf_sort`函数,用于按字符串长度从长到短排序;最后,定义了`udf_print`函数输出排序结果。在`main`函数中,创建了一个字符串数组并进行排序,然后打印排序前后的结果。

974

被折叠的 条评论
为什么被折叠?



