#include <stdio.h>
#include <string.h>
void print(char *pString[])/*打印函数*/
{
int i,j;
for (i=0;i<10;i++)
puts (pString[i]);
}
void sort(char *pStr[])/*冒泡法*/
{
char *ps;
int i,j;
for (i=0;i<1;i++)
for(j=8;j>i;j--)
if(strcmp(pStr[j+1],pStr[j])>0)
{
ps=pStr[j];pStr[j]=pStr[j+1];pStr[j+1]=ps;
}
}
main()
{
char *string[10]={"China","Japan","Korea","Egypt","Nepal","Burma","Ghana","Sudan","Italy","Libya"};
puts("The 10 strings are:");
print(string);
sort(string);
print(string);
}
真见鬼,我太菜了,找了一下午没找到错误,请哪个高手帮下忙
冒泡算法写错了,应该是:
void sort(char *pStr[])/*冒泡法*/
{
char *ps;
int i,j;
for (i=9;i>0;i--)
for(j=0;j<i;j++)
if(strcmp(pStr[j+1],pStr[j])>0)
{
ps=pStr[j];pStr[j]=pStr[j+1];pStr[j+1]=ps;
}
}
你再试试看!
楼上的代码标准!