【openjudge】字符串排序
字符串排序
- 时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
-
输入5个字符串,每个串的长度均不超过10个字符,将字符串排序后输出。
目的:学会使用私字符串函数,strcpy和strcmp。
使用注意:#include
提示1:两个字符串可以整体比较大小,使用系统函数strcmp()
举例:比较str1和str2的大小
t=strcmp(str1,str2);
t有三种可能 0(str1==str2),1(str1>str2),-1(str1<STR2)
- 输入
- 5行,每行一个由不超过10个小写字母组成的字符串
- 输出
- 5行,排序后的字符串
- 样例输入
-
cccccccccc aaaaaaaaaa bbbbbbbbbb eeeeeeeeee dddddddddd
- 样例输出
-
aaaaaaaaaa bbbbbbbbbb cccccccccc dddddddddd eeeeeeeeee
-
#include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int i,j; char a[5][10],t[10]; t=(char *)malloc(10*sizeof(char)); for(i=0;i<5;i++) scanf("%s",a[i]); for(i=0;i<5;i++) {for(j=i+1;j<5;j++) if(strcmp(a[i],a[j])>0) {/*这道题让我学会了字符串的交换方法。还是三变量法;只是不能再想整型一样t=i;i=j;j=t;了,要用strcmp()哈哈。又学会一点。*/ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); } } for(i=0;i<5;i++) printf("%s\n",a[i]); return 0; }