#include<stdio.h> #include<string.h> int main() { char *str[] = { "hello", "world", "lets", "go" }; int i = 0; int j = 0; int flag = 0; int sz = sizeof(str) / sizeof(str[0]); int *tmp = NULL; printf("排序之前的字符串为:"); for (i = 0; i < sz; i++) { printf("%s ", str[i]); } for (i = 0; i < sz - 1; i++) { for (j = 0; j < sz - 1 - i; j++) { if (str[j]>str[j + 1]) { tmp = str[j]; str[j] = str[j + 1]; str[j + 1] = tmp; flag = 0; } } } printf("\n排序之后的字符串为:"); for (i = 0; i < sz; i++) { printf("%s ", str[i]); } printf("\n"); return 0; }
本题就是冒泡思想的一个拓展,只要我们会冒泡排序就可以解决这个问题。