#include
#include
int main(){
void sort(char *name[],int n);
char * alphabet[ ]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"};
int n = 5;
sort(alphabet,n);
for(int i=0;i<5;i++)
printf("%s\n",alphabet[i]);
return 0;
}
void sort(char *name[],int n){
int i=0,j=0;
char *temp;
for(;i<=4;i++){
for(;j<=n-j-1;j++){
if(strcmp(name[j],name[j+1])>0){
temp = name[j];
name[j] = name[j+1];
name[j+1] = temp;
}
}
}
}
代码如上,想要通过ASCII码来比较alphabet中的字符串,并按照英文字母的顺序输出。函数SORT重用的冒泡排序,但输出的结果里只有第一位和第二位正确调换了位置,不知道问题出在哪里?请指教!万分感谢!!!