图片整理 - 牛客网华为机试中等难度

tech2024-07-23  40

题目描述 Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。

输入描述: Lily使用的图片包括"A"到"Z"、“a"到"z”、“0"到"9”。输入字母或数字个数不超过1024。

输出描述: Lily的所有图片按照从小到大的顺序输出

示例1 输入 Ihave1nose2hands10fingers 输出 0112Iaadeeefghhinnnorsssv

结果

用C++实现

#include <bits/stdc++.h> using namespace std; int main() { string s; while(cin >> s) //注意需要多行输入 { sort(s.begin(), s.end()); cout << s << endl; } return 0; } C语言实现 #include <stdio.h> #include <string.h> //冒泡排序 稳定排序算法 void bubbleSort(char ch[], int n) { int i, j; for(i = 0; i < n-1; ++i) for(j = 0; j < n-1-i; ++j) if(ch[j] > ch[j+1]) { char t; t = ch[j+1]; ch[j+1] = ch[j]; ch[j] = t; } } int main() { char ch[1111]; while(EOF != scanf("%s", ch)) { int len = strlen(ch); bubbleSort(ch, len); int i; for(i = 0; i < len; i++) printf("%c", ch[i]); printf("\n"); } return 0; }
最新回复(0)