输入五个字符串,排序(正序)后输出并用空格隔开,输入字符串长度最大为80。
#include<stdio.h>
#include<string.h>
void sort(char a[][81], int n)
{
int i, j, k; //j, k看作两个指针
char p[81];
//可以理解为每一轮,都要找到第i个元素右边比他小并且是最小的元素与第i个元素进行交换
for(i = 0; i < n - 1; i ++)
{
k = i;
for(j = i + 1; j < n; j ++)
if(strcmp(a[k], a[j]) > 0)
k = j; //k负责找到当前第i个元素右边最小的元素的位置
if(k != i) //交换第i个和第k个元素的位置
{
strcpy(p, a[i]);
strcpy(a[i], a[k]);
strcpy(a[k], p);
}
}
}
int main()
{
int i;
char a[5][81] = {0};
for(i = 0; i < 5; i ++)
scanf("%s", a[i]);
sort(a, 5);
for(i = 0; i < 5; i ++)
printf("%s ", a[i]);
return 0;
}