2.\t将字符串中ascii值为奇数的字符删除,将剩余字符形成的新字符串放在数组a中并输出。
时间: 2023-05-01 12:04:33 浏览: 179
题目描述:将字符串中ASCII值为奇数的字符删除,将剩余字符形成的新字符串放在数组a中并输出。
解题思路:可以遍历字符串,将ASCII值为奇数的字符删除,将剩余字符拼接成新的字符串,最后将新字符串放入数组a中并输出。
代码示例:
```python
s = input() # 输入字符串
new_s = '' # 定义新字符串
for ch in s:
if ord(ch) % 2 == 0: # 判断是否为偶数
new_s += ch # 将偶数字符拼接到新字符串中
a = [new_s] # 将新字符串放入数组a中
print(a) # 输出数组a
```
相关问题
将字符串中ascii值为奇数的字符删除,将剩余字符形成的新字符串放在数组a中并输出。
题目意思是将字符串中 ASCII 值为奇数的字符删除,将剩余字符形成的新字符串放在数组 a 中并输出。
解题思路:
- 创建一个空字符串 new_str,用于存放新字符串。
- 遍历原字符串中的每一个字符:
- 判断其 ASCII 值是否为奇数,若是,则跳过该字符,否则将该字符添加到 new_str 中。
- 最后将 new_str 添加到数组 a 中,并输出 a。
以下为 Python 实现代码:
# 原字符串
my_str = b'\xe5\xb0\x86\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe4\xb8\xadascii\xe5\x80\xbc\xe4\xb8\xba\xe5\xa5\x87\xe6\x95\xb0\xe7\x9a\x84\xe5\xad\x97\xe7\xac\xa6\xe5\x88\xa0\xe9\x99\xa4\xef\xbc\x8c\xe5\xb0\x86\xe5\x89\xa9\xe4\xbd\x99\xe5\xad\x97\xe7\xac\xa6\xe5\xbd\xa2\xe6\x88\x90\xe7\x9a\x84\xe6\x96\xb0\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe6\x94\xbe\xe5\x9c\xa8\xe6\x95\xb0\xe7\xbb\x84a\xe4\xb8\xad\xe5\xb9\xb6\xe8\xbe\x93\xe5\x87\xba\xe3\x80\x82'
# 新字符串
new_str = ''
for ch in my_str:
# 判断 ASCII 值是否为奇数
if ch % 2 != 0:
continue
new_str += chr(ch)
# 存放新字符串的数组
a = [new_str]
# 输出数组 a
print(a)
编写函数void fun(char *s,char t[]),将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。 例如:若s所指字符串中的内容为:"ABCDEFG12345",其中字符A的ASCII码值虽为奇数,但所在元素的下标为偶数,因此必需删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其他依此类推。最后t所指的数组中的内容应是:"135"。
以下是函数的实现:
```c
void fun(char *s, char t[]) {
int i, j;
j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (i % 2 == 1 && s[i] % 2 == 1) {
t[j] = s[i];
j++;
}
}
t[j] = '\0';
}
```
函数的思路是,遍历字符串s中的每个字符,如果字符的下标和ASCII值都是奇数,则将该字符放入新串t中。最后在新串t的末尾加上字符串结束标志'\0'。
阅读全文