输入10个字符串,然后排序输出。排序的原则由键盘输入的数来决定,为0,将输入的字符串按整数值大小由小到大排序,否则按字典顺序排序。要求:输入、输出、排序分别用函数实现,主函数只是调用这些函数。
时间: 2023-05-31 07:02:42 浏览: 59
```python
def input_str():
# 输入10个字符串
str_list = []
print("请输入10个字符串:")
for i in range(10):
str_list.append(input())
return str_list
def sort_str(str_list, key):
# 排序
if key == 0:
str_list.sort(key=lambda x: int(x))
else:
str_list.sort()
return str_list
def output_str(str_list):
# 输出排序后的字符串
print("排序后的字符串为:")
for s in str_list:
print(s)
if __name__ == '__main__':
# 主函数
key = int(input("请输入排序方式(0为按整数值大小排序,否则按字典顺序排序):"))
str_list = input_str()
str_list = sort_str(str_list, key)
output_str(str_list)
```
相关问题
C语言从键盘输入3个字符串,按由小到大排序(使用strcmp函数)
可以使用strcmp函数比较两个字符串的大小,从而实现字符串排序。具体实现代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[3][100];
int i, j;
char temp[100];
// 从键盘输入3个字符串
for (i = 0; i < 3; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", str[i]);
}
// 使用冒泡排序按由小到大排序
for (i = 0; i < 2; i++) {
for (j = 0; j < 2 - i; j++) {
if (strcmp(str[j], str[j + 1]) > 0) { // 如果前面的字符串大于后面的字符串,则交换它们
strcpy(temp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1], temp);
}
}
}
// 输出排序后的结果
printf("按由小到大排序后的结果为:\n");
for (i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
这里我们先定义了一个字符串数组str,用于存储3个字符串。然后使用scanf函数从键盘输入这3个字符串。接着,使用冒泡排序按由小到大排序,具体实现就是比较相邻两个字符串的大小,如果前面的字符串大于后面的字符串,则交换它们。最后输出排序后的结果。
从键盘输入3个字符串,按由小到大排序(使用strcmp函数)C语言
好的,这里是使用 `strcmp` 函数实现字符串排序的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 假设最大字符串长度为100
int main() {
char str[3][MAX_LEN]; // 存储3个字符串的数组
int i, j;
char temp[MAX_LEN]; // 用于交换的临时字符串
// 从键盘输入3个字符串
printf("请输入3个字符串:\n");
for (i = 0; i < 3; i++) {
scanf("%s", str[i]);
}
// 使用选择排序算法,按由小到大排序
for (i = 0; i < 2; i++) {
for (j = i + 1; j < 3; j++) {
if (strcmp(str[i], str[j]) > 0) {
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
// 输出排序后的字符串
printf("排序后的字符串为:\n");
for (i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
假设输入的3个字符串分别为:
```
hello
world
cprogramming
```
则输出为:
```
排序后的字符串为:
cprogramming
hello
world
```
希望能帮到你!
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)