用指针数组处理:(在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。),字符串不等长。
#include <stdio.h>
#include <string.h>
void sortStrings(char *arr[], int n) {
char *temp;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(arr[i], arr[j]) > 0) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
char *strings[10];
char buffer[10][100];
printf("Enter 10 strings:\n");
for (int i = 0; i < 10; i++) {
scanf("%s", buffer[i]);
strings[i] = buffer[i];
}
sortStrings(strings, 10);
printf("Sorted strings:\n");
for (int i = 0; i < 10; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
代码解释:
sortStrings
函数使用指向指针的指针对字符串数组进行排序。main
函数中,用户输入10个不等长字符串,通过指针传递给sortStrings
函数进行排序。