2048:【例5.18】串排序
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 515 通过数: 239
【题目描述】
对给定的n(1≤n≤20)n(1≤n≤20)个国家名(国家名字长度不超过2020),按其字母的顺序输出。
【输入】
第一行为国家的个数nn;
以下nn行为国家的名字。
【输出】
nn行,排序后的国名。
【输入样例】
3 Korea China Japan
【输出样例】
China Japan Korea
【参考代码】
C代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 25 char s[N][N]; int cmp(const void * a, const void * b) { return strcmp((char *)a,(char *)b); } int main() { int i,j,n; scanf("%d",&n); getchar(); for(i=0;i<n;i++) gets(s[i]); qsort(s,n,N*sizeof(char),cmp); for(i=0;i<n;i++) puts(s[i]); return 0; }
C++代码:
#include<iostream> #include<string> #include<algorithm> const int N=25; using namespace std; string s[N]; int main() { int n; cin >> n; for(int i=0;i<n;i++) cin >> s[i]; sort(s,s+n); for(int i=0;i<=n;i++) cout << s[i] << endl; return 0; }
http://ybt.ssoier.cn:8088/problem_show.php?pid=2048