编写程序实现:使用gets 函数、puts函数、strcmp()函数、strcpy函数对多个字符串进行排序
时间: 2025-02-05 11:10:14 浏览: 40
在C语言中,要实现使用`gets()`、`puts()`、`strcmp()`和`strcpy()`函数对字符串数组进行排序,通常我们会选择冒泡排序算法,因为它们适用于基本的数据操作。以下是一个简单的示例,展示了如何对两个字符串数组进行字母升序排序:
```c
#include <stdio.h>
#include <string.h>
// 比较两个字符串并返回其顺序(0表示相等,负数表示第一个小于第二个)
int compare_strings(const char* str1, const char* str2) {
return strcmp(str1, str2);
}
// 使用bubble sort对字符串数组进行排序
void string_sort(char** arr, int size) {
for (int i = 0; i < size - 1; ++i) {
for (int j = 0; j < size - i - 1; ++j) {
if (compare_strings(arr[j], arr[j + 1]) > 0) { // 如果前一个更大,则交换位置
char temp[50]; // 假设最大长度为49
strcpy(temp, arr[j]); // 复制当前元素到临时
strcpy(arr[j], arr[j + 1]);
strcpy(arr[j + 1], temp); // 将较小的放到前面
}
}
}
}
int main() {
char* strings[] = {"hello", "world", "C++", "programming"};
int size = sizeof(strings) / sizeof(strings[0]);
puts("Original array:");
for (int i = 0; i < size; ++i) {
printf("%s ", strings[i]);
}
puts("\n");
string_sort(strings, size);
puts("Sorted array:");
for (int i = 0; i < size; ++i) {
puts(strings[i]);
}
return 0;
}
```
阅读全文
相关推荐


















