从键盘中接受一个字符串,编写程序,要求:根据输入的字符串中,每个字符最后一次的出现位置,依次将其存入列表中。例如:输入”abcda”,列表输出为[‘b’, ‘c’, ‘d’, ‘a’];输入”abcbda”,输出列表为[‘c’, ‘b’, ‘d’, ‘a’]。
时间: 2024-02-29 19:51:47 浏览: 41
好的,我来为您编写这个程序:
```python
s = input("请输入一个字符串: ")
char_dict = {}
result = []
for i in range(len(s)-1, -1, -1):
if s[i] not in char_dict:
char_dict[s[i]] = i
result.append(s[i])
else:
char_dict[s[i]] = i
result.reverse()
print(result)
```
程序的思路是:首先定义一个空字典 `char_dict`,用于存储每个字符最后一次出现的位置。然后从字符串的最后一个字符开始遍历,如果当前字符不在字典中,就将其添加到字典中,并将其加入结果列表 `result` 中;否则,更新字典中该字符的位置。由于是从后往前遍历,所以最后需要将 `result` 列表翻转一下再输出。
运行程序后,输入字符串即可得到对应的列表输出。
相关问题
从键盘上输入一个字符串(最多80个字符),找出其中最大的字符并输出,最后换行。 输入格式: 从键盘上输入一个字符串(最多80个字符)。 输出格式: 找出其中最大的字符并输出,最后换行。,用c语言编写
好的,以下是使用 C 语言编写的程序,实现在输入字符串中找出最大的字符并输出。
```c
#include <stdio.h>
int main() {
char str[81], max_ch;
int i;
scanf("%s", str); // 读入字符串
max_ch = str[0]; // 假设第一个字符最大
for (i = 1; str[i] != '\0'; i++) {
if (str[i] > max_ch) {
max_ch = str[i]; // 更新最大字符
}
}
printf("%c\n", max_ch); // 输出最大字符并换行
return 0;
}
```
程序通过 `scanf` 函数读入输入的字符串,最多80个字符。然后使用一个变量 `max_ch` 记录当前找到的最大字符,初值为第一个字符。循环遍历字符串中的每个字符,如果当前字符比 `max_ch` 大,则将 `max_ch` 更新为当前字符。循环结束后,`max_ch` 就是最大的字符。最后使用 `printf` 函数输出最大字符并换行。
你可以将这段代码复制到一个 C 编译器中运行,输入一个字符串,然后它会输出其中最大的字符。
用python语言编写程序:从键盘输入一个字符串,分别统计数字,字母(包括大小写)和其他字符的个数,输出每个字符及其个数。要求:用字典进行统计。
好的,这是一个很好的编程问题。以下是用 Python 编写的程序:
```python
string = input("请输入一个字符串:")
count = {"digit": 0, "letter": 0, "other": 0}
for char in string:
if char.isdigit():
count["digit"] += 1
elif char.isalpha():
count["letter"] += 1
else:
count["other"] += 1
print("数字个数:", count["digit"])
print("字母个数:", count["letter"])
print("其他字符个数:", count["other"])
```
这个程序会从键盘输入一个字符串,然后使用字典统计其中数字、字母和其他字符的个数,并输出结果。
阅读全文