- 论坛徽章:
- 0
|
本帖最后由 smallstonecnlbl 于 2011-10-08 16:26 编辑
#include<stdio.h>
#include<string.h>
void sort(char *name[],int n);
void print(char *name[],int n);
main()
{
char *name[]={"zhang san","li si","wang wu","ma liu","hou qi"};
int m=5;
sort(name,m);
print(name,m);
}
/*
** sort
** 使用冒泡排序算法对字符串进行排序
*/
void sort(char *name[],int n)
{
int i,j;
char *temp;
for(i=0;i<n-1;i++)
{
for(j=0;i<n-i;j++)
{
if(strcmp(name[j],name[j+1])>0)
{
temp=name[j];
name[j]=name[j+1];
name[j+1]=name[j];
}
}
}
}
/*
** print
** 打印指针数组中个元素所指向的字符串
*/
void print(char *name[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%s\n",name);
}
}
我写了上面对字符串进行排序的程序,但执行后,排序功能是实现了,但在第二个位置的字符串出现乱码,请高手指教。。。 |
|