输入10个字符串,然后排序输出。排序的原则由键盘输入的数来决定,为0,将输入的字符串按整数值大小由小到大排序,否则按字典顺序排序。要求:输入、输出、排序分别用函数实现,主函数只是调用这些函数。
时间: 2023-05-31 21:02:42 浏览: 90
```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)
```
相关问题
编写一个java程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。 【输入形式】从键盘输入一个字符串,以回车结束输入。要求程序可以处理含有空格的字符串。 【输出形式】程序接收此字符串,然后将其按照字符ASCII码值从小到大的顺序进行排序,并删除重复的字符输出。如果字符串为空,输出也应该为空。 【样例输入】badacgegfacb 【样例输出】abcdefg 【样例说明】输入badacgegfacb,然后排序、删除重复字符得到abcdefg。
好的,这是一个字符串排序并删除重复字符的问题,我来编写一个Java程序来解决它:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] chars = str.toCharArray();
Arrays.sort(chars);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
if (i == 0 || chars[i] != chars[i - 1]) {
sb.append(chars[i]);
}
}
System.out.println(sb.toString());
}
}
```
这个程序中,我们首先使用Scanner从控制台输入一个字符串,然后将其转换为字符数组。接着,我们使用Arrays.sort函数按照字符的ASCII码值从小到大对字符数组进行排序。最后,我们使用StringBuilder来构造一个新的字符串,遍历排好序的字符数组,如果当前字符与前一个字符不同,就将其添加到StringBuilder中,这样就实现了删除重复字符的功能。最终,我们输出StringBuilder中的字符串即可。
运行这个程序,输入badacgegfacb,得到的输出是:
```
abcdefg
```
说明输入字符串经过排序和去重后得到了abcdefg。
从键盘输入一个字符串,按照字符串的ASCII顺序排序后输出
可以使用以下代码实现:
```python
string = input("请输入一个字符串:")
sorted_string = ''.join(sorted(string))
print("按照ASCII顺序排序后的字符串为:", sorted_string)
```
这段代码会先从键盘输入一个字符串,然后使用 Python 内置的 `sorted()` 函数按照 ASCII 顺序对字符串进行排序,最后输出排序后的字符串。
阅读全文