已知道字符串数组如下:(C语言) char *s[]={"man","woman","girl","boy","sister"};(1) 定\x05义一个函数对数组s进行冒泡排序(2)定义一个函数对数组s进行选择排序(3) main()函数体中分别调用定义的两个函数

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 20:19:08
已知道字符串数组如下:(C语言) char *s[]={

已知道字符串数组如下:(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);
}