1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int main() { int a[20]; int t,i=1,min,b,z; scanf("%d",&t); while(t>0) { a[i]=t%10; t=t/10; i++; } for(int k=1; k<=i-1; k++) { min=k; for(int j=k; j<=i-1; j++) { if(a[min]>=a[j]) { min=j; } } b=a[k]; a[k]=a[min]; a[min]=b; } for(int k=1; k<=i-1; k++) { if(a[k]!=0) { z=a[k]; a[k]=a[1]; a[1]=z; break; } } for(int k=1; k<=i-1; k++) { printf("%d",a[k]); } printf("\n"); }C++ :
#include<iostream> #include <string.h> using namespace std; int main(){ string str=""; cin>>str; char arr[20]; strcpy(arr, str.c_str()); for(int k=0;k<strlen(arr);k++){ for(int i=0;i<strlen(arr)-1;i++){ if(arr[i]>arr[i+1]){ char tempChar=arr[i]; arr[i]=arr[i+1]; arr[i+1]=tempChar; } } } string s(&arr[0],&arr[strlen(arr)]); cout<<s<<endl; return 0; }Pascal :
var s:string; i,j:integer; a:array[0..9] of integer; begin readln(s); for i:=1 to length(s) do inc(a[ord(s[i])-ord('0')]); for i:=1 to 9 do if a[i]<>0 then begin write(i); dec(a[i]); break; end; for i:=0 to 9 do if a[i]<>0 then for j:=1 to a[i] do write(i); writeln; end.Java :
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String oldstr = sc.nextLine(); System.out.println(sort(oldstr)); } public static String sort(String str){ //转成字符数组 char [] c = str.toCharArray(); //从小到大排序 Arrays.sort(c); //如果左边第一位为0则需要与往右第一个不为零的调换位置 char t = 0; String newstr = ""; for(int i = 0;i<=c.length - 1;i++){ if(c[i] != '0' ){ t = c[i]; c[i] = c[0]; c[0] = t; break; } } for(int i = 0;i<= c.length - 1;i++){ newstr += c[i]; } return newstr; } }Python :
n=int(input()) st1=str(n) l=[ int(i) for i in str(n)] l.sort() for i in range(0,len(l)): if l[i-1]==0 and l[i]!=0: l[0]=l[i] l[i]=0 for j in l: print(j,end='') break if l[0]!=0: for i in l: print(i,end='')
- 1
信息
- ID
- 112
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 9
- 标签
- 递交数
- 15
- 已通过
- 3
- 上传者