C语言指针练习之不等长字符排序
原创
©著作权归作者所有:来自51CTO博客作者小城里OL的原创作品,请联系作者获取转载授权,否则将追究法律责任
/*
*Copyright(c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:test1.cpp
*作 者:刘金石
*完成日期:2016年3月16日
*版本 号:v1.0
*问题描述:在主函数中输入n(n<=10)个不等长的字符串。用另一函数对它们排序。然后在主函数输出这n个已排好序的字符串。
*输入描述:n和n个不等长字符串
*输出描述:输出n个已排好序的字符串。
*/
#include<stdio.h>
#include<string.h>
int main()
{
void sort(char **,int );
int i,n;
char **p,*pstr[20],str[20][80];
scanf("%d",&n);
for (i=0; i<n; i++)
pstr[i]=str[i];
for (i=0; i<n; i++)
scanf("%s",pstr[i]);
p=pstr;
sort(p,n);
printf("排序后的字符串为:\n");
for (i=0; i<n; i++)
printf("%s\n",pstr[i]);
return 0;
}
void sort(char **p,int n)
{
int i,j;
char str[80];
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
{
if(strcmp(*(p+i),*(p+j))>0)
{
strcpy(str,*(p+i));
strcpy(*(p+i),*(p+j));
strcpy(*(p+j),str);
}
}
}
![C语言指针练习之不等长字符排序_c语言](https://s2.51cto.com/images/blog/202301/11181745_63be8cc9c9b7b2958.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)