c语言:输入3个字符串,按由大到小的顺序输出!要求用指针方法处理!该怎么写代码,跪求!

2024-11-17 21:23:48
推荐回答(1个)
回答1:

//在之前的code上做了修改,测试通过,如果有疑问,欢迎交流
#include
#include
#include
#define N 100
void bubblesort_str(char **list,int len) //冒泡排序
{
    int i,j;
char temp[N];
    for(i=0;i        for(j=0;j        {
            if(strcmp(*(list+j+1), *(list + j)) > 0)
            {
                strcpy(temp,*(list + j+1));
                strcpy(*(list + j+1), *(list + j));
                strcpy(*(list + j) ,temp);
            }
        }
}
int main(){
char **names;
names = (char**) malloc(sizeof(char*)*3);
int i;
for(i = 0; i<3;i++){
names[i] = (char*) malloc(sizeof(char)*N);
gets(names[i]);
}
bubblesort_str(names, 3);

for(i = 0; i<3; i++){
puts(names[i]);
}
for(i = 0; i<3;i++){
free(names[i]);
}
free(names);
}