C语⾔:字符串排序
题⽬内容:从键盘上输⼊5个字符串,对它们进⾏从⼩到⼤排序并输出。 (提⽰:可使⽤起泡法或选择法,字符串存储在⼆维数组中。)
例:
输⼊:
China
India
Korea
Japan
America
输出:
America
China
India
Japan
Korea
题⽬分析:学会使⽤strcmp函数,strcmp函数是string compare(字符串⽐较)的缩写,⽤于⽐较两个字符串并根据⽐较结果返回整数,基本形式为strcmp(str1,str2) (1)若str1=str2,则返回0 ; (2)若str1<str2,则返回负数 ; (3)若str1>str2,则返回正数。
代码如下:
1#include<stdio.h>
2#include<string.h>
3#define N 5
4int main()
5{
6 char s[N][80];
7 char t[80];
8 int i,j;
9 //输⼊字符串
10 for(i=0;i<N;i++)
11 {
12 gets(s[i]);//s[i]表⽰s[i][0]----s[i][79]
13 }
14 //起泡法排序
15 for(i=0;i<N-1;i++)
字符串比较函数实现16 {
17 for(j=0;j<N-1-i;j++)
18 {
19 if(strcmp(s[j],s[j+1])>0)
20 {
21 //互换
22 strcpy(t,s[j]);//后⾯的拷给前⾯的
23 strcpy(s[j],s[j+1]);
24 strcpy(s[j+1],t);
25 }
26 }
27 }
28 printf("After sorting:\n");
29 for(i=0;i<N;i++)
30 {
31 puts(s[i]);
32 }
33 return 0;
34}
输出结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论