题目内容:从键盘上输入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,则返回正数。
代码如下:
#include<stdio.h>
#include<string.h>
#define N 5
int main()
{
char s[N][80];
char t[80];
int i,j;
//输入字符串
for(i=0;i<N;i++)
{
gets(s[i]);//s[i]表示s[i][0]----s[i][79]
}
//起泡法排序
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(strcmp(s[j],s[j+1])>0)
{
//互换
strcpy(t,s[j]);//后面的拷给前面的
strcpy(s[j],s[j+1]);
strcpy(s[j+1],t);
}
}
}
printf("After sorting:\n");
for(i=0;i<N;i++)
{
puts(s[i]);
}
return 0;
}
输出结果:
更多推荐