1 条题解
-
0
C :
#include<stdio.h> #include<string.h> void main() { int n,x,y,k,i,j; char b[21][15]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%s",b[i]); for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) { x=strlen(b[i])>strlen(b[j])?strlen(b[j]):strlen(b[i]); for(k=0;k<x;k++) { if(b[j][k]!=b[i][k]) { if(b[j][k]>b[i][k]) { strcpy(b[20],b[j]); strcpy(b[j],b[i]); strcpy(b[i],b[20]); } break; } else if(k==x-1&&strcmp(b[i],b[j])!=0) { if(b[i][x]=='\0') { strcpy(b[20],b[j]+x); for(y=i;y<n;y++) { if(strcmp(b[20],b[y])>0) { if(y==n-1) { strcpy(b[20],b[j]); strcpy(b[j],b[i]); strcpy(b[i],b[20]); break; } } else break; } } else { strcpy(b[20],b[i]+x); for(y=i;y<n;y++) { if(strcmp(b[20],b[y])<0) { strcpy(b[20],b[j]); strcpy(b[j],b[i]); strcpy(b[i],b[20]); break; } } } } } } for(i=0;i<n;i++) printf("%s",b[i]); }
C++ :
#include<stdio.h> #include<string.h> char a[21][100]; char c[100]; int main() { int n,j,i,q,p; while(scanf("%d",&n)!=EOF) { getchar(); for(i=0;i<n;i++) scanf("%s",a[i]); for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++) { p=0; for(q=0;a[i][q]!='\0'&&a[j][q]!='\0';q++) { if(a[i][q]!=a[j][q]) { p=1; break; } } if(p==1&&strcmp(a[i],a[j])<0) { strcpy(c,a[i]); strcpy(a[i],a[j]); strcpy(a[j],c); } if(strlen(a[i])>strlen(a[j])) { if(p==0&&a[i][q]<a[i][0]) { strcpy(c,a[i]); strcpy(a[i],a[j]); strcpy(a[j],c); } } else { if(p==0&&a[j][q]>a[j][0]) { strcpy(c,a[i]); strcpy(a[i],a[j]); strcpy(a[j],c); } } } } for(i=0;i<n;i++) printf("%s",a[i]); puts(""); } return 0; }
Pascal :
var s,t:string;i,n:longint;a:array[1..20]of longint;s1:array[1..20]of string; procedure qsort(l,r:longint); var mid:string;i,j:longint; begin mid:=s1[(l+r) div 2];i:=l;j:=r; repeat while s1[i]>mid do inc(i); while s1[j]<mid do dec(j); if i<=j then begin t:=s1[i];s1[i]:=s1[j];s1[j]:=t;inc(i);dec(j);end; until i>j; if l<j then qsort(l,j); if i<r then qsort(i,r); end; begin read(n); for i:=1 to n do begin read(a[i]); str(a[i],s1[i]); end; qsort(1,n); for i:=1 to n do if s1[i]+s1[i+1]<s1[i+1]+s1[i] then begin t:=s1[i]; s1[i]:=s1[i+1]; s1[i+1]:=t; end; for i:=1 to n do write(s1[i]); writeln; end.
- 1
信息
- ID
- 191
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 10
- 标签
- 递交数
- 3
- 已通过
- 1
- 上传者