其实就是个字符串排序 #include <stdio.h> #include <stdlib.h> int cmp(void *p1, void *p2){ return *(char *)p1 - *(char *)p2; } int main(){ char s[1025]; int len; scanf("%s", s); len = strlen(s); qsort(s, len, sizeof(char), cmp); puts(s); return 0; }