任意输入 5个字符串,调用函数按从大到小的顺序对字符 串进行排序,在主函中输出排序结果。
时间: 2024-02-09 15:09:57 浏览: 27
好的,可以使用C++的STL中的sort函数来实现字符串排序。下面是示例代码:
```c++
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
// 比较函数,用于指定sort函数排序方式
bool cmp(string a, string b) {
return a > b;
}
int main() {
string str[5]; // 存储5个字符串
cout << "请输入5个字符串:" << endl;
for (int i = 0; i < 5; i++) {
cin >> str[i];
}
sort(str, str+5, cmp); // 调用sort函数排序
cout << "排序后的结果为:" << endl;
for (int i = 0; i < 5; i++) {
cout << str[i] << endl;
}
return 0;
}
```
使用sort函数排序时,需要自定义比较函数cmp来指定排序方式。在本例中,比较函数指定了从大到小的排序方式。然后使用sort函数对字符串数组进行排序,最后输出排序结果。
相关问题
c语言代码任意输入5个字符串,调用函数按从大到小的顺序进行排序在主函数中输出排序结果
好的,这是一个简单的C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100 // 最大字符串长度
// 比较函数
int compare(const void *a, const void *b) {
return strcmp(*(const char **)b, *(const char **)a);
}
int main() {
char strings[5][MAX_LENGTH]; // 存储5个字符串的数组
int i;
// 输入5个字符串
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++) {
scanf("%s", strings[i]);
}
// 调用库函数进行排序
qsort(strings, 5, sizeof(char *), compare);
// 输出排序结果
printf("排序后的结果:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
```
这里使用了C语言标准库中的`qsort`函数进行排序,比较函数`compare`用于指定排序顺序为从大到小。输入的五个字符串存储在`strings`数组中,使用`scanf`函数进行输入。最后输出排序后的结果。
c语言任意输入5个字符串,调用函数按从大到小的顺序进行排序在主函数中输出排序结果的代码
以下是按照从大到小排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
void sort_strings(char arr[][MAX_LENGTH], int n);
int main() {
char strings[5][MAX_LENGTH];
int i;
// 读入5个字符串
for (i = 0; i < 5; i++) {
printf("请输入第%d个字符串:", i + 1);
fgets(strings[i], MAX_LENGTH, stdin);
strings[i][strlen(strings[i]) - 1] = '\0';
}
// 按照从大到小的顺序排序
sort_strings(strings, 5);
// 输出排序结果
printf("从大到小排序后的结果:\n");
for (i = 0; i < 5; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
void sort_strings(char arr[][MAX_LENGTH], int n) {
int i, j;
char temp[MAX_LENGTH];
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (strcmp(arr[i], arr[j]) < 0) {
strcpy(temp, arr[i]);
strcpy(arr[i], arr[j]);
strcpy(arr[j], temp);
}
}
}
}
```
在这个程序中,我们首先定义了一个 `sort_strings` 函数,它接受一个二维字符数组和数组长度作为参数,用来对字符串数组进行排序。在主函数中,我们首先读入5个字符串,然后调用 `sort_strings` 函数来进行排序,并最终输出排序后的结果。在排序过程中,我们使用了 `strcmp` 函数来比较两个字符串的大小关系。