编写一个程序输入若干个字符串采用冒泡排序法对这些字符按词典顺序进行排序并输出
编写一个程序输入若干个字符串采用冒泡排序法对这些字符按词典顺序进行排序并输出
试试这个····
#include<iostream>
#define n 10
using namespace std;
main()
{
void sort(char *[],int ); /*声明自定义的字典排序函数*/
char *q[n];
int i;
for(i=0; i<n; i++)
q[i]=new char[30], scanf("%s",q[i]); /*给q数组申请30大小的空间并对其进行赋值*/
sort( q, n); /*调用自定义的字典排序函数*/
for(i=0; i<n; i++)
printf((i==n-1)?"%s\n":"%s ",q[i]);
return 0;
}
void sort(char *q[],int t)/*自定义的字典排序函数*/
{ char *temp;
int i, j, k;
for(i=0; i<t-1; i++)
{
k=i;
for(j=i+1; j<t; j++)
if(strcmp(q[k], q[j])>0) /*如果返回值大于零,即字符串a[k]大于a[j],则进行交换*/
k=j;
if(k!=i)
temp=q[i], q[i]=q[k], q[k]=temp;
}
}
[ 本帖最后由 陈大师 于 2010-3-14 12:51 编辑 ]