题目描述
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。
- 输入描述:
Lily使用的图片包括”A”到”Z”、”a”到”z”、”0”到”9”。输入字母或数字个数不超过1024。
- 输出描述:
Lily的所有图片按照从小到大的顺序输出
- 示例1
输入
Ihave1nose2hands10fingers
输出
0112Iaadeeefghhinnnorsssv
代码实现:
- 方法一:
两层for循环排序
package cn.c_shuang.demo34;
import java.util.Scanner;
/**
* 图片整理(字符排序)
* @author Cshuang
* */
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
while(in.hasNext()){
String s=in.nextLine();
System.out.println(sort(s));
}
in.close();
}
private static String sort(String s) {
char[] c=s.toCharArray();
char temp;
for (int i = 0; i < c.length-1; i++) {
for (int j =i+1; j < c.length; j++) {
if(c[i]>c[j]){
temp=c[j];
c[j]=c[i];
c[i]=temp;
}
}
}
return String.valueOf(c);
}
}
- 方法二:
直接利用Arrays.sort(xx)可以对任意类型数组进行直接排序
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String s = in.nextLine();
char [] str = s.toCharArray();
Arrays.sort(str);
System.out.println(str);
}
}
}