|
发表于 2011-12-25 09:22:10
|
显示全部楼层
楼主发的程序有明显的错误,两个函数都有错误
我修正后的程序如下:
#include <stdio.h>
#include <string.h>
void sort(char *name[], int n);
void print(char *name[], int n);
void main()
{
char *name[] = {"asdf","dsdf","bsdf","esdf"};
int n = 4;
sort(name , n);
print(name , n);
}
void sort(char *name[], int n)
{
char *temp;
int i, j, k;
for(i = 0; i < n-1; i++)
{
k = i;
for( j=i+1; j < n; j++)
{
if(strcmp (name[k], name[j]) > 0)
{
k = j;
}
}
if(k != i)
{
temp = name[i];
name[i] = name[k];
name[k] = temp;
}
}
}
void print(char *name[], int n)
{
int i;
for(i = 0; i < n; i++)
{
printf("%s\n", name[i]);
}
}
两处错误不好找,请仔细核对。
sort()函数的功能是利用选择排序对字符串进行从小到大的排序 |
|