1 solutions
-
0
C :
#include <stdio.h> #include <string.h> struct Number { char str[1010]; int l; }; int main() { void sort (struct Number a[],int n); struct Number a[110]; int n,i; while (scanf ("%d",&n)!=EOF) { getchar(); for (i=0;i<n;i++) { gets(a[i].str); a[i].l=strlen(a[i].str); a[i].str[a[i].l]='\0'; } sort(a,n); for (i=0;i<n;i++) puts(a[i].str); } return 0; } void sort (struct Number a[],int n) { int i,j; struct Number t; for (i=0;i<n-1;i++) for (j=0;j<n-1-i;j++) { if (a[j].l>a[j+1].l) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } if (a[j].l==a[j+1].l) { if (strcmp(a[j].str,a[j+1].str)>0) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } }
C++ :
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct STR { char s[1001]; int l; }str[100]; bool cmp(STR a,STR b) { if(a.l==b.l) return strcmp(a.s,b.s)<0?1:0; return a.l<b.l; } int main() { int n,i; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%s",str[i].s); str[i].l=strlen(str[i].s); } sort(str,str+n,cmp); for(i=0;i<n;i++) puts(str[i].s); } return 0; }
Pascal :
var n,i,j:longint; temp:ansistring; a:array[1..100] of ansistring; begin while not eof do begin for i:=1 to 100 do a[i]:=''; readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n-1 do for j:=i to n do if (a[i]>a[j])and(length(a[i])=length(a[j]))or(length(a[i])>length(a[j])) then begin temp:=a[i]; a[i]:=a[j]; a[j]:=temp; end; for i:=1 to n do writeln(a[i]); end; end.
Java :
import java.util.*; public class Main{ public static void main(String[] args){ String[] arr = new String[105]; Scanner scan = new Scanner(System.in); int i,n; while(scan.hasNextInt()){ n = scan.nextInt(); for(i=0; i<n; i++){ arr[i] = scan.next(); } qsort(arr, 0, n-1, new BigComparator()); for(i=0; i<n; i++){ System.out.println(arr[i]); } } } public static <T> void qsort(T[] a, int start, int end, Comparator<? super T> cmp){ if(start >= end){ return; } int i=start, j=end; boolean dir = true; while(i < j){ if(cmp.compare(a[i], a[j]) > 0){ T t = a[i]; a[i] = a[j]; a[j] = t; dir = !dir; } if(dir){ --j; }else{ ++i; } } qsort(a, start, i-1, cmp); qsort(a, i+1, end, cmp); } } class BigComparator implements Comparator<String>{ @Override public int compare(String a, String b){ int len = a.length(); if(len != b.length()){ return len - b.length(); } for(int i=0; i<len; i++){ if(a.charAt(i) != b.charAt(i)){ return a.charAt(i)-b.charAt(i); } } return 0; } }
Python :
while 1: a=[] N=int(input()) for i in range(0,N): s=int(input()) a.append(s) a.sort() for x in a: print(x)
- 1
Information
- ID
- 614
- Time
- 1000ms
- Memory
- 32MiB
- Difficulty
- 10
- Tags
- # Submissions
- 1
- Accepted
- 0
- Uploaded By