本题要求编写程序,读入5个字符串,按由小到大的顺序输出。用c++来写
时间: 2023-09-07 09:04:33 浏览: 140
下面是一个C程序的实现,可以读入5个字符串并按由小到大的顺序输出:
```c
#include <stdio.h>
#include <string.h>
// 比较函数,用于排序字符串数组
int cmp(const void* a, const void* b) {
return strcmp(*(const char**)a, *(const char**)b);
}
int main() {
char str[5][100]; // 存储字符串的数组
char* ptr[5]; // 存储指向每个字符串的指针
// 读入字符串
printf("请输入5个字符串:\n");
for (int i = 0; i < 5; i++) {
scanf("%s", str[i]);
ptr[i] = str[i]; // 将指针指向每个字符串
}
// 排序字符串
qsort(ptr, 5, sizeof(char*), cmp);
// 输出排序结果
printf("按由小到大的顺序输出:\n");
for (int i = 0; i < 5; i++) {
printf("%s\n", ptr[i]);
}
return 0;
}
```
在此程序中,我们首先定义了一个二维字符数组`str`来存储输入的字符串,每个字符串的最大长度为100。然后定义了一个一维字符指针数组`ptr`,用于存储指向每个字符串的指针。
接下来,通过一个循环读入5个字符串,并将对应的指针指向每个字符串,以便后续排序使用。
然后,使用`qsort`函数对指针数组`ptr`进行排序,排序的依据是字符串的大小。
最后,再次通过一个循环按顺序输出排序后的字符串。
这样,就能实现读入5个字符串,并按由小到大的顺序输出的功能。
阅读全文