在一行上输入一个长度为
,仅由大小写字母和数字构成的字符串
,代表输入的字符串。
在一行上输出一个字符串
,代表排序后的答案。
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 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(); } }
//char数组存放数据,直接用Arrays对数组进行排列 import java.util.Scanner; import java.util.Arrays; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ char[] ch = sc.nextLine().toCharArray(); Arrays.sort(ch); for(int i=0;i<ch.length;i++){ System.out.print(ch[i]); } System.out.println(); } } }
import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { String line = sc.nextLine(); char[] chars = line.toCharArray(); Arrays.sort(chars); StringBuffer sb = new StringBuffer(); sb.append(chars); System.out.println(sb.toString()); } } }
#include <stdio.h> #include <string.h> static char buffer[1025]; void swap(char *a, char *b) { char tmp = *a; *a = *b; *b = tmp; } int main() { while(EOF != scanf("%s", buffer)) { int i, j; int len = strlen(buffer); for(i = len-1; i > 0; i--) for(j = 1; j <= i; j++) if(buffer[j-1] > buffer[j]) swap(buffer+j-1, buffer+j); printf("%s\n", buffer); } return 0; }