编写一个函数del(s),将输入的字符串s中重复出现的字符删除,只保留最后出现的字符,要求大小写无关(即'A'与'a'视为相同字符)。在main()函数中测试此函数:从键盘输入一个字符串,然后调用该函数进行删除重复字符串操作,将结果打印到屏幕上。
时间: 2024-02-13 08:00:46 浏览: 115
好的,以下是解答:
```python
def del_duplicate(s):
s = s.lower() # 将字符串转化为小写字母,使大小写无关
new_s = ''
for i in s:
if i not in new_s:
new_s += i
else:
new_s = new_s.replace(i, '') + i # 删除前面出现的字符,保留后面出现的字符
return new_s
if __name__ == '__main__':
s = input("请输入一个字符串:")
new_s = del_duplicate(s)
print("删除重复字符后的结果为:", new_s)
```
在上面的代码中,我们定义了一个函数 `del_duplicate(s)`,该函数接受一个字符串作为参数,并返回删除重复字符后的字符串。在函数中,我们先将字符串转化为小写字母,使大小写无关,然后遍历字符串中的每个字符,如果该字符已经在新字符串中出现过,就删除新字符串中该字符的旧位置,将该字符添加到新字符串的末尾,这样就可以保留最后出现的字符,删除其他重复的字符。最后,在主函数中,我们从键盘输入一个字符串,调用 `del_duplicate(s)` 函数进行删除重复字符操作,并将结果打印到屏幕上。
相关问题
C语言编写一个函数del(s),将输入的字符串s中重复出现的字符删除,只保留最后出现的字符,
好的,我来给您写一个C语言函数del(s)的示例代码,实现删除字符串中重复出现的字符,只保留最后出现的字符。代码如下:
```c
void del(char s[])
{
int i, j, k;
int len = strlen(s);
for (i = 0; i < len; i++) {
for (j = i + 1; j < len;) {
if (s[j] == s[i]) {
for (k = j; k < len; k++) {
s[k] = s[k + 1];
}
len--;
} else {
j++;
}
}
}
}
```
这个函数的实现思路是,首先遍历字符串s中的每一个字符,然后再从当前字符的下一个字符开始遍历,如果发现重复的字符,就将后面的字符依次左移,覆盖掉当前的重复字符,直到字符串的长度减小了1。这样就可以实现只保留每个字符最后出现的位置的功能。
您可以在自己的程序中调用这个函数del(s),传入需要处理的字符串s进行处理。
C语言编写一个函数del(s),不管大小写,将输入的字符串s中重复出现的字符删除,只保留最后出现的字符,
好的,我来给您写一个C语言函数del(s)的示例代码,实现删除字符串中重复出现的字符,不区分大小写,只保留最后出现的字符。代码如下:
```c
void del(char s[])
{
int i, j, k;
int len = strlen(s);
for (i = 0; i < len; i++) {
for (j = i + 1; j < len;) {
if (tolower(s[j]) == tolower(s[i])) {
for (k = j; k < len; k++) {
s[k] = s[k + 1];
}
len--;
} else {
j++;
}
}
}
}
```
这个函数的实现思路与上一个函数类似,只是在比较字符是否相等时,用tolower()函数将字符转换为小写字母,这样就可以实现不区分大小写的功能。
同样的,您可以在自己的程序中调用这个函数del(s),传入需要处理的字符串s进行处理。
阅读全文