您的位置:首页 > 编程语言 > C语言/C++

C语言指针练习之不等长字符排序

2016-03-16 16:09 260 查看
/*
*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);
}
}
}
运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: