TOC
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!
😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
前言🙌
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【C语言蓝桥杯每日一题】——排列字母~ 都是精华内容,可不要错过哟!!!😍😍😍
排列字母🙌
问题描述
小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如,LANQIAO 排列后为 AAILNOQ。
又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY。
请问对于以下字符串,排列之后字符串是什么?
WHERETHEREISAWILLTHEREISAWAY
解题思路分析:😍
- 首先先认真审题,在选择最合适的解法。
- 这道题的解法有很多,这里使用的是C语言qsort库函数。先将这个字符串进行排序,然后再打印输出。
- 当然这里还有更加暴力的解法。就是将这个字符串自己数一下,然后直接输出答案。
C语言中的qsort库函数
首先先来认识一下C语言中的qsort函数,它内部是基于快排算法设计的。
它的大概样子如下图所示:
qsort函数的返回值设计如下图所示:
由于我上一篇的蓝桥杯题解——等差数列。已经对这个函数进行了详细的了解,因此这里就不过多的赘述啦~
解题源代码分享:😍
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int compare(const void* e1, const void* e2)
{
return *((char*)e1) - *((char*)e2);
}
int main()
{
char arr[50] = "WHERETHEREISAWILLTHEREISAWAY";
qsort(arr, strlen(arr), sizeof(char), compare);
printf("%s", arr);
return 0;
}
当然还有更加暴力的算法~
直接数出字母的顺序,然后直接打印即可!!!
解题源代码分享:😍
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// 请在此输入您的代码
printf("AAAEEEEEEHHHIIILLRRRSSTTWWWY");
return 0;
}
程序输出结果验证: 😊
文章来源:https://www.toymoban.com/news/detail-406132.html
总结撒花💞
本篇文章旨在分享【C语言蓝桥杯每日一题】——排列字母。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘文章来源地址https://www.toymoban.com/news/detail-406132.html
到了这里,关于【C语言蓝桥杯每日一题】——排列字母的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!