C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出

 我来答
jackwind1987
推荐于2017-10-13 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:480万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int cmp(const void *a, const void *b) {
    return *(char*)a - *(char*)b; // 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。
}

int main() {
    char s[] = "kjferu21398dyfkaqpoia";
    qsort(s, strlen(s), 1, cmp);
    printf("%s", s);
    return 0;
}
幻音T即墨
2013-09-21 · TA获得超过457个赞
知道答主
回答量:344
采纳率:0%
帮助的人:111万
展开全部
用char数组装字母 在string.h里有一个syrcmp是比较字符串大小的 就是可以比较字母大小 然后你把 字母的数据交换就可以了。。。就和数字排序一样 用冒泡什么的
追问
能不能写一下程序?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
请叫我章晨曦
2013-09-21
知道答主
回答量:13
采纳率:0%
帮助的人:6.4万
展开全部
使用qsort函数对于数组排序非常方便。
如对于字符数组排序:

int my_comp(const void*a, const void *b)
{
return *(int *) a - * (int *) b;
}

sort_func()
{
char szcArray[5] = {'a','c','b','d','\0'};
qsort(szcArray, 4, sizeof(char), my_comp);
}
===
功 能: 使用快速排序例程进行排序
头文件:stdlib.h
用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const
void *,const void *));
参数: 1 待排序数组首地址
2 数组中待排序元素数量
3 各元素的占用空间大小
4 指向函数的指针,用于确定排序的顺序
===
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式