【问题描述】
编写一个函数,利用指针将输入的多个字符串按长度升序排序
void StrSort(char *p[N],int n)
【输入形式】
循环输入四个字符串。每输入完一个按回车。
【输出形式】
输出排序后的四个字符串。
【样例输入】
HU
KOBE
BRYANT
CCZU
【样例输出】
HU
KOBE
CCZU
BRYANT
#include<stdio.h>
#define N 100
#include<string.h>
void StrSort(char *p[],int n)
{ //第一种方法
char *temp;
int i,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(strlen(p[j])>strlen(p[j+1]))
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
}
void main()
{
char* p[N],a[4][N];
int n=4,i;
for(i=0;i<n;i++)
{
scanf("%s",a[i]);
p[i]=a[i];
}
StrSort(p,n);
for(i=0;i<n;i++)
puts(p[i]);
}