已知道字符串数组如下:(C语言) char *s[]={"man","woman","girl","boy","sister"};(1) 定\x05义一个函数对数组s进行冒泡排序(2)定义一个函数对数组s进行选择排序(3) main()函数体中分别调用定义的两个函数
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 11:12:09
已知道字符串数组如下:(C语言) char *s[]={"man","woman","girl","boy","sister"};(1) 定\x05义一个函数对数组s进行冒泡排序(2)定义一个函数对数组s进行选择排序(3) main()函数体中分别调用定义的两个函数
已知道字符串数组如下:(C语言) char *s[]={"man","woman","girl","boy","sister"};
(1) 定\x05义一个函数对数组s进行冒泡排序
(2)定义一个函数对数组s进行选择排序
(3) main()函数体中分别调用定义的两个函数进行排序,并打印排序结果
已知道字符串数组如下:(C语言) char *s[]={"man","woman","girl","boy","sister"};(1) 定\x05义一个函数对数组s进行冒泡排序(2)定义一个函数对数组s进行选择排序(3) main()函数体中分别调用定义的两个函数
#include <stdio.h>
#include <string.h>
//冒泡排序
void sort1(char *s[],int count)
{
char *ptemp;
int i,j;
for(i=0;i<count-1;i++)
{
for(j=0;j<count-1-i;j++)
{
if(strlen(s[j])>strlen(s[j+1])) //按长度比较的大小
{
ptemp=s[j];
s[j]=s[j+1];
s[j+1]=ptemp;
}
}
}
}
//选择排序
void sort2(char *s[],int count)
{
char *ptemp;
int i,j;
for(i=0;i<count-1;i++)
{
for(j=i+1;j<count;j++)
{
if(strcmp(s[i],s[j])>0)//安字符串大小比较的大小
{
ptemp=s[j];
s[j]=s[i];
s[i]=ptemp;
}
}
}
}
void show(char *s[],int count)
{
int i;
for(i=0;i<count;i++)
{
printf("%s\n",s[i]);
}
}
void main()
{
char *s[]={"man","woman","girl","boy","sister"};
sort1(s,5);
show(s,5);
sort2(s,5);
show(s,5);
}