题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5190a1db6f4f4ddb92fd9c365c944584
#include <ctype.h> #include <stdio.h> #include <string.h> // 1. 得到输入 // 2. 将输入中的字母提取出来,按照顺序 // 2.1 从结果来看,新字符串中的字母顺序一定按照字母表的顺序排列,同一字母大小写按原顺序排列 // 2.2 那么我就遍历26遍数组把字母都取出来 // 3. 替换输出 int main() { char input[1010] = {0}; char character[1010] = {0}; int len = 0; int index = 0; while(gets(input)) { len = strlen(input); index = 0; for(char c = 'a'; c <= 'z'; ++ c) { for(int i = 0; i < len; ++ i) { if(input[i] == c || input[i] == toupper(c)) { character[index ++] = input[i]; } } } index = 0; for(int i = 0; i < len; ++ i) { if(isalpha(input[i])) { putchar(character[index ++]); } else { putchar(input[i]); } } } return 0; }