P279_1020用指向指针的指针对字符…

来源:互联网 发布:淘宝高达模型 编辑:程序博客网 时间:2024/06/07 01:45
字符串数组进行在位排序,先建立一个指针数组指向字符串数组,对第一指针数组进行排序即可。然后在第一指针数组上再建第二指针数组即可完成简单排序,然后根据第一数组的顺序寻址即可输出排序好的字符串。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LINEMAX 20
int main()
{
    void sort(char * *p);
    int i;
    char * *p,*pstr[5],str[5][LINEMAX];
    for(i = 0;i< 5;i++)
       pstr[i] = str[i];

    printf("input 5strings:\n");

    for(i = 0;i< 5;i++)//输入5个字符串
    {
       scanf("%s",pstr[i]);
    }
    p = pstr;
    sort(p);
    printf("stringsorted:\n");
    for(i = 0;i< 5;i++)
       printf("%s\n",pstr[i]);
    return 0;
}

void sort(char * * p)
{
    int i,j;
    char *temp;
    for(i = 0;i< 5;i++)
    {
       for(j = i+1;j < 5;j++)
       {
          if(strcmp(*(p+i),*(p+j))>0)
           {
              temp = *(p+i);
              *(p+i) = *(p+j);
              *(p+j) = temp;
           }
       }
    }
}
0 0
原创粉丝点击