请问指针数组两种方式排序字符串

问题:分别用指针和数组两种方式,实现随机输入一组字符串,然后按字母顺序排列。

➢两个函数均为独立函数,可输入任意长度字符串(<1024),非法输入要提示错误信息。

感谢帮助!


#include<stdio.h>
#include<string.h>
void sort(char number[],int n); //这里直接用 char number[] 就行了
void sortPtr(char* number,int n);
void main()
{
    char a[100],*number;
    int n;
    printf("请输入一串字符串:\n");
    gets(a);
    number=a;
    printf("排序后得:%d\n",n=strlen(a));
    sortPtr(number,n);
    puts(a);
    getchar();
}
void sort(char number[],int n) //这里也要改成 char number[]
{
    char temp; //这里直接用temp
    int i,j,k;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        {
            k=i;
            for(j=i+1;j<n;j++)
                if(number[k]>number[j]) //你是当个字符比较 直接用munber[k]>number[j]就行了
                    k=j;
            if(k!=i)
            {
                temp=number[i];
                number[i]=number[k];
                number[k]=temp;
            }
        }
    }
}

void sortPtr(char* number,int n) //这里也要改成 char number[]
{
    char temp; //这里直接用temp
    int i,j,k;
    for(i=0;i<n-1;i++)
    {
        k=i;
        for(j=i+1;j<n;j++)
        {
            k=i;
            for(j=i+1;j<n;j++)
                if(*(number+k)>*(number+j)) //你是当个字符比较 直接用munber[k]>number[j]就行了
                    k=j;
            if(k!=i)
            {
                temp=*(number+i);
                *(number+i)=*(number+k);
                *(number+k)=temp;
            }
        }
    }
}