C/C++复习:不等长字符串排序(2)

/*
 *Copyright(c)2016,烟台大学计算机与控制工程学院
 *All right reserved.
 *文件名称:77.cpp
 *作    者:董凯琦
 *完成日期:2016年4月25日
 *版 本 号:v1.0
 *
 *问题描述:在主函数中输入n个不等长的字符串。用另一个函数对它们排序。然后在主函数输出这n个已排好顺序的字符串。
 *输入描述:n和n个字符串
 *程序输出:排序后的字符串
 */
 #include <stdio.h>
 #include <string.h>
 void sort(char *p[],int n )
 {
     int i,j;
     char m[80];
     for(i=0;i<n-1;i++) //使用冒泡排序法排序字符串
        for(j=0;j<n-i-1;j++)
     {
         if (strcmp(p[j],p[j+1])>0)
         {
             strcpy(m,p[j]);
             strcpy(p[j],p[j+1]);
             strcpy(p[j+1],m);
         }

     }
 }
 int main()
 {
     void sort(char *[],int n );
     int i;
     char str[10][80];
     char *p[10];
     int n;
     scanf("%d",&n);
     for(i=0;i<n;i++) //输入字符串
        scanf("%s",str[i]);
     for(i=0;i<n;i++)
        p[i]=str[i];//指针指向字符串
     sort(p,n);//调用排序函数
     for(i=0;i<n;i++)//输出已经排序好的字符串
        printf("%s\n",p[i]);
     return 0;
 }







你可能感兴趣的:(C/C++复习:不等长字符串排序(2))