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

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

2016-04-25 14:52 204 查看
/*
*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;
}


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