1 条题解
-
0
C :
#include <stdio.h> #include <string.h> int main() { char c1[25][25],c2[25]; int n; int i,j; scanf("%d\n",&n); for(i=0;i<n;i++) gets(c1[i]); for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(strcmp(c1[j],c1[j+1])>0) { strcpy(c2,c1[j]); strcpy(c1[j],c1[j+1]); strcpy(c1[j+1],c2); } for(i=0;i<n;i++) puts(c1[i]); return 0; //while(1); }
C++ :
#include <stdio.h> #include <string.h> int main() { void sort(char *name[], int n); char * name[20]; char names[20][20]; char ch; int n, i, j; scanf("%d", &n); /* 处理第一行多余的空格和回车符 */ while ((ch = getchar()) != '\n') {} for (i = 0;i < n;i++) { /* 读入每一行的字符串 */ j = 0; while ((ch = getchar()) != '\n') { names[i][j] = ch; j++; } /* 在字符串末尾加上0,标记字符串结束 */ names[i][j] = '\0'; /* 给指针数组赋值,以方便进行排序 */ name[i] = names[i]; } sort(name, n); for (i = 0;i < n;i++) printf("%s\n", name[i]); return 0; } /* 选择排序 */ void sort(char *name[], int n) { char * temp; int i, j, k; for (i = 0;i < n - 1;i++) { k = i; for (j = i + 1;j < n;j++) if (strcmp(name[k], name[j]) > 0) k = j; if (k != i) { temp = name[i]; name[i] = name[k]; name[k] = temp; } } }
Pascal :
var a:array[1..20] of string; i,j,n:longint; t:string; begin readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end; for i:=1 to n do writeln(a[i]); end.
Java :
import java.util.Arrays; import java.util.Scanner; public class Main { private static Scanner s = new Scanner(System.in) ; public static void main(String[] args) { int num = s.nextInt() ; String strs[] = new String[num] ; s.nextLine() ; for (int i = 0; i < num; i++) { strs[i] = s.nextLine() ; } Arrays.sort(strs); for (String string : strs) { System.out.println(string) ; } } }
Python :
a = [] for i in range(input()): a.append(raw_input()) for i in sorted(a): print i
- 1
信息
- ID
- 1356
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者