C语言编程解决字符串数组字典排序

编写一个书名排序程序,输入10个书名存入一个二维数组,用函数voidsort(char*s)实现他们的字典排序,在main函数输出结果... 编写一个书名排序程序,输入10个书名存入一个二维数组,用函数void sort(char *s)实现他们的字典排序,在main函数输出结果 展开
 我来答
xoaxa
推荐于2016-04-11 · TA获得超过8610个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3468万
展开全部
#include <stdio.h>
#include <string.h>

const int MAXLEN = 100;
const 升埋和int MAXSIZE = 10;
 
void sort(char title[][MAXLEN],int n) {//排序
int i,j,k;
char tstr[MAXLEN];
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = i + 1; j < n; ++j) {
if(strcmp(title[k],title[j]) > 0)
k = j;
}
if(k != i) {
strcpy(tstr,title[k]);
strcpy(title[k],title[i]);
strcpy(title[i],tstr);
}
}
}

void show(char s[][MAXLEN],int n) {
int i;
for(i 吵盯= 0; i < n; ++i)
printf("%s",s[i]);
puts("液枝 ");
}
 
int main(void) {
char s[MAXSIZE][MAXLEN];
int i;
for(i = 0; i < MAXSIZE; ++i) {
printf("string(%02d/%d):",i + 1,MAXSIZE);
fgets(s[i],MAXLEN,stdin);
}
printf("排序前:\n");
show(s,MAXSIZE);
sort(s,MAXSIZE);
printf("排序后:\n");
show(s,MAXSIZE);
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式