在一行上输入一个长度为
,仅由大小写字母和数字构成的字符串
,代表输入的字符串。
在一行上输出一个字符串
,代表排序后的答案。
Ihave1nose2hands10fingers
0112Iaadeeefghhinnnorsssv
#include<stdio.h> #include<string.h> void Printch(char* ch,int size) { for (int i = 0; i < size - 1; i++) { for (int j = 0; j < size - 1 - i; j++) { if (*(ch + j) > *(ch+j + 1)) { *(ch + j) ^= *(ch + j + 1); *(ch + j + 1) ^= *(ch + j); *(ch + j) ^= *(ch + j + 1); } } } puts(ch); } int main() { char ch[1000]; while(gets(ch)) { int size = strlen(ch); Printch(ch,size); } return 0; }
//计数法 #include <stdio.h> #include <string.h> //0~9 0x30~0x39 A~Z 0x41~0x5A a~z 0x51~0x7A const char scaii_list[3][2] = {{0x30,0x39},{0x41,0x5A},{0x61,0x7A}}; int main(){ char in_str[1000] = {0}; while (scanf("%s", in_str)!= EOF){ //scanf("%s",in_str); char out_list[0x7A+1] = {0}; int str_len = strlen(in_str); for(int i = 0; i < str_len; i++){ out_list[in_str[i]]++; } int index = 0; while(index < 3){ for(int i = scaii_list[index][0]; i <= scaii_list[index][1]; i++){ for(int j = 0; j < out_list[i]; j++){ printf("%c",i); } } index++; } printf("\n"); } return 0; }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { char[] arr = sc.nextLine().toCharArray(); Arrays.sort(arr); Arrays.asList(arr).stream().forEach(System.out::println); } } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner (System.in); while(sc.hasNext()){ String str = sc.nextLine(); char[] ch = str.toCharArray(); int[] ascii = new int[ch.length]; for(int i = 0; i < ch.length; i++){ ascii[i] = (int)ch[i]; } QuickSort(ascii,0,ascii.length-1); for(int i = 0; i < ch.length; i++){ ch[i] = (char)ascii[i]; } System.out.println(String.valueOf(ch)); } } private static void QuickSort(int[] a, int lo, int hi){ if(hi <= lo) return; int j = partition(a,lo,hi); QuickSort(a,lo,j-1); QuickSort(a,j+1,hi); } private static int partition(int[] a,int lo, int hi){ int i = lo, j = hi + 1; int v = a[lo]; while(true){ while(a[++i] < v) if(i == hi) break; while(a[--j] > v) if(j == lo) break; if(i >= j) break; swap(a,i,j); } swap(a,lo,j); return j; } private static void swap(int[] a, int i, int j){ int temp = a[i]; a[i] = a[j]; a[j] = temp; } }
while(line=readline()){ var arr=line.split('').sort(); console.log(arr.join('')) }
#include<bits/stdc++.h> using namespace std; int main() { string str; string temp; while(cin>>str) { for(int i=0;i<str.size()-1;i++) { for(int j=0;j<str.size()-1-i;j++) { if(str[j]>str[j+1]) { temp[0]=str[j]; str[j]=str[j+1]; str[j+1]=temp[0]; } } } for(int i=0;i<str.size();i++) { cout<<str[i]; } cout<<endl; } return 0; }
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String input = sc.nextLine(); if ("".equals(input)) { continue; } char[] arr = input.toCharArray(); Arrays.sort(arr); System.out.println(String.valueOf(arr)); } } }
import java.util.*; public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ String line = scanner.nextLine(); List<Character> characterList = new ArrayList<>(); for (int i = 0; i < line.length(); i++) { char ch = line.charAt(i); characterList.add(ch); } characterList.sort(Comparator.comparingInt(o -> o)); StringBuilder stringBuilder = new StringBuilder(); characterList.forEach(stringBuilder::append); System.out.println(stringBuilder.toString()); } } }
// 方法2 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ String line = scanner.nextLine(); char[] charArr = line.toCharArray(); Arrays.sort(charArr); System.out.println(String.valueOf(charArr)); } }
#include <bits/stdc++.h> using namespace std; int main(){ char str[1000]={0}; while(EOF != scanf("%s",str)){ int a[128] = {0}; int k = 0; while(str[k]!='\0') ++a[str[k++]]; for(int i=0;i < 128;++i) if(a[i] != 0) for(int j=0;j < a[i];j++) printf("%c",(char)i); printf("\n"); memset(str,0, 1000); } return 0; }
#include <iostream> (720)#include <string> #include <algorithm> using namespace std; int main() { string str; while ( getline (cin, str) ) { sort( str.begin(), str.end() ); cout << str << endl; } return 0; }
#include<iostream> #include<cstring> using namespace std; int main(){ int asc[128]; char ch[1025]; while(cin>>ch){ for(int i=0;i<62;i++) asc[i]=0; for(int i=0;i<strlen(ch);i++){ if(ch[i]<='9'&&ch[i]>='0') asc[ch[i]-'0']++; else if(ch[i]<='Z'&&ch[i]>='A') asc[ch[i]-'A'+10]++; else if(ch[i]<='z'&&ch[i]>='a') asc[ch[i]-'a'+36]++; } for(int i=0;i<62;i++){ if(asc[i]!=0){ if(0<=i&&i<=9) for(int j=0;j<asc[i];j++) cout<<(char)(i+'0'); if(10<=i&&i<=35) for(int j=0;j<asc[i];j++) cout<<(char)(i-10+'A'); if(36<=i&&i<=61) for(int j=0;j<asc[i];j++) cout<<(char)(i-36+'a'); } } cout<<endl; } }
#include<iostream> #include<sstream> #include<string> #include<algorithm> using namespace std; int main() { string str; while(cin>>str) { sort(str.begin(),str.end()); cout<<str<<endl; } return 0; }使用algorithm库中的sort函数,直接就会排序号,因为需要升序排列,所以可以加最后的判断函数,也可以不加,默认就为升序。但是在sort函数中调用比较函数的时候不需要加括号。
import java.util.*; import java.io.*; public class Main { public static void main (String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { sortString(scanner.nextLine()); } } public static void sortString (String input) { char[] array = input.toCharArray(); Arrays.sort(array); for (char c : array) { System.out.print(c); } System.out.println(); } }