本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
输出格式:
按照以下格式输出排序后的结果:
After sorted:
每行一个字符串
输入样例:
red yellow blue green white
输出样例:
After sorted:
blue
green
red
white
yellow
参考代码
#include <stdio.h>
#include <string.h>
#define N 5
void buuble(char str[5][81], int n)
{
int i, j;
char buf[81];
for (i = 0; i < n - 1; ++i)
{
for (j = 1; j < n - i; ++j)
{
if ( strcmp(str[j], str[j - 1]) < 0 )
{
memset(buf, 0, sizeof(buf));
strcpy(buf, str[j]);
strcpy(str[j], str[j - 1]);
strcpy(str[j - 1], buf);
}
}
}
}
int main()
{
char str[N][81];
int i = 0;
for (i = 0; i < N; ++i)
{
scanf("%s", str[i]);
}
buuble(str, N);
printf("After sorted:\n");
for (i = 0; i < N; ++i)
{
printf("%s\n", str[i]);
}
return 0;
}