在主函数中输入10个不等长的字符串。用另一个函数对它们排序。然后在主函数输出这10个已排好序的字符串。(用指针方法处理)
时间: 2023-04-17 22:00:48 浏览: 89
可以使用以下代码实现:
#include <stdio.h>
#include <string.h>
void sort_strings(char **strings, int n) {
int i, j;
char *temp;
for (i = ; i < n-1; i++) {
for (j = i+1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > ) {
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp;
}
}
}
}
int main() {
int i, n = 10;
char *strings[10];
// 输入字符串
printf("请输入10个字符串:\n");
for (i = ; i < n; i++) {
char buffer[100];
scanf("%s", buffer);
strings[i] = strdup(buffer);
}
// 排序字符串
sort_strings(strings, n);
// 输出排序后的字符串
printf("排序后的字符串为:\n");
for (i = ; i < n; i++) {
printf("%s\n", strings[i]);
}
// 释放内存
for (i = ; i < n; i++) {
free(strings[i]);
}
return ;
}
阅读全文