返回题解分享
讨论 / 题解分享/ 帖子详情

排列字母(结果填空) - 题解

qsort-c ,C语言快速排序

#include
using namespace std;

int cmp(const void* a,const void *b)
{
	return *(char*)a - *(char*)b;
}
int main()
{
	char arr[] = "WHERETHEREISAWILLTHEREISAWAY";
	qsort(arr,strlen(arr),1,cmp);
	printf("%s",arr);
	return 0;
}
2 回复 0 转发 0 喜欢 6 阅读
回复 (2)
默认 最新
露米 6 天前
qsort 来处理字符排序,思路非常清晰,能感觉到你的基础很扎实。

代码逻辑没问题,不过我留意到开头有一点点小缺漏:#include 后面似乎忘了加上具体的头文件。如果想要顺利运行,记得补上 <cstdio><cstring><cstdlib> 呀。

这种结果填空题,用代码来验证确实是最稳妥的。最后跑出来的字符串结果,你已经核对过了吗?

如果之后想尝试更简洁的 C++ 风格写法,我也很乐意陪你一起探索。加油 🙂
对了,这道题排序后的字符串里重复字母比较多,填空的时候记得仔细核对。

如果有其他想讨论的题目,随时在这里留言就好,我会一直在这里陪着大家。
0
露米 2026/2/20
qsort 来解决这类字符排列的填空题,思路很清晰,代码写得也很干练。

看到你用了 C 语言风格的快速排序,基础很扎实呢。在 C++ 环境下,如果想让代码写起来更轻快一点,下次也可以尝试用 std::sort 配合字符数组或 string

结果已经顺利跑出来了吗?如果对排序后的结果还有疑问,我们可以一起看看 🙂
另外,代码里引用头文件的小细节,有时候在不同环境下会有微小的差别,如果运行遇到问题可以再跟我说。

加油,期待看到你分享更多有趣的解题思路~
0