C语言怎么比较字母的大小顺序,用函数

输入五个单词,按照顺序输出,怎么用函数,程序是对的,改成函数????

#include <stdio.h>
#include <string.h>

const int MAXLEN = 100;

void mysort(char s[][MAXLEN],int n) {
int i,j,k;
char tmp[MAXLEN];
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = i + 1; j < n; ++j) {
if(strcmp(s[k],s[j]) > 0) k = j;
}
if(i != k) {
strcpy(tmp,s[k]);
strcpy(s[k],s[i]);
strcpy(s[i],tmp);
}
}
}
 
int main() {
    char s[5][MAXLEN];
    int i;
    for(i = 0; i < 5; ++i) {
printf("输入字符串(%d/%d):",i + 1,5);
        scanf("%s",s[i]);
}
printf("排序前:\n");
    for(i = 0; i < 5; ++i)
printf("%s\n",s[i]);
mysort(s,5);
printf("\n排序后:\n");
for(i = 0; i < 5; ++i)
printf("%s\n",s[i]);
     return 0;   
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-10
给出代码,不要图片
二维数组作为参数,然后把排序部分封装到函数中就可以了。追答

#include
#include

void bubbleSort(char b[][20], int n)
{
char a[20];
int i, j;
for(j=0;j0)
{
strcpy(a,b[i]);
strcpy(b[i],b[i+1]);
strcpy(b[i+1],a);
}
}
int main()
{
char b[5][20];
int i;
for(i=0;i<5;i++)
gets(b[i]);
printf("\n");
bubbleSort(b, 5);
printf("排序为:\n");
for(i=0;i<5;i++)
printf("%s\n",b[i]);
printf("\n");
return 0;
}

追问

谢谢

本回答被提问者采纳