在C语言中通过函数调用方式将5个字符串排为升序(程序)

来源:百度知道 编辑:UC知道 时间:2024/07/04 21:10:07
必须是函数调用方式,不能是选择和冒泡排序法
要编好的程序

#include"string.h"
#include"stdio.h"
void f(char s[5][20])
{int i,j; char a[20];
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(strcmp(s[j],s[j+1])>0)
{strcpy(a,s[j]);strcpy(s[j],s[j+1]);
strcpy(s[j+1],a);}
}
main()
{char a[5][20]; int i;
for(i=0;i<5;i++)
fets(a[i]);
f(a);
for(i=0;i<5;i++)
puts(a[i]); puts("\n");
}

struct In
{
int data;
char str[100];
}s[100];

//按照结构体中字符串str的字典顺序排序

int cmp ( const void *a , const void *b )
{
return strcmp( (*(In *)a)->str , (*(In *)b)->str );
}

qsort(s,100,sizeof(s[0]),cmp);
可以给你借鉴一下
http://zhidao.baidu.com/question/29467453.html?si=2可以去看一下