<pre name="code" class="cpp">/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:77.cpp
*作 者:董凯琦
*完成日期:2016年4月22日
*版 本 号:v1.0
*
*问题描述:用指向指针的指针的方法对5个字符串排序并输出。要求将排序单独写成一个函数。字符串和n在主函数中输入。最后在主函数中输出。
*输入描述:n和n个字符串
*程序输出:排序后的字符串
*/
#include <iostream>
#include <cstring>
using namespace std;
void sort(char **p,int n )
{
int i,j;
char s[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(s,p[j]); //P[j]即:*(p+j)
strcpy(p[j],p[j+1]);
strcpy(p[j+1],s);
}
}
}
int main()
{
void sort(char **,int );
int i,n;
char **p,*pstr[20],str[20][80];
cin>>n;
for (i=0; i<n; i++)// 行指针指向每一行字符串的首地址
pstr[i]=str[i];
for (i=0; i<n; i++)//输入字符串
cin>>pstr[i];
p=pstr;
sort(p,n);
for (i=0; i<n; i++)
cout<<pstr[i]<<endl;//输出字符串
return 0;
}
C/C++复习:不等长字符串的排序(1)
最新推荐文章于 2024-08-29 11:31:29 发布