1 条题解
-
0
C :
#include <stdio.h> #include <stdlib.h> #include <string.h> int cmp(const void* pa,const void* pb) { return strcmp((char*)pa,(char*)pb); } void sort(char string[][1000]) { qsort(string,10,1000*sizeof(char),cmp); } int main () { //freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout); char s[10][1000]; for(int i=0;i<10;i++) gets(s[i]); //printf("kddoe\n"); sort(s); for(int i=0;i<10;i++) puts(s[i]); //printf("dkdoe\n"); }
C++ :
#include <stdio.h> #include <string.h> int main() { void sort(char *strings[], int n); char str[10][101], *strings[10], ch; int i, j; for (i = 0;i < 10;i++) { j = 0; while ((ch = getchar()) != '\n') { str[i][j] = ch; j++; } str[i][j] = '\0'; strings[i] = &str[i][0]; } sort(strings, 10); for (i = 0;i < 10;i++) printf("%s\n", strings[i]); return 0; } /* 字符串排序函数 */ void sort(char *strings[], int n) { int i, j, current; char *temp; for (i = 0;i < n - 1;i++) { /* 寻找剩余的最小的字符串 */ current = i; for (j = i + 1;j < n;j++) if (strcmp(strings[j], strings[current]) < 0) current = j; /* 将剩余的最小字符串替换到最靠前的位置 */ temp = strings[i]; strings[i] = strings[current]; strings[current] = temp; } }
Pascal :
const n=10; var i,j:longint; t:string; a:array[1..n] of string; begin 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.
- 1
信息
- ID
- 1368
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者