2.\t将字符串中ascii值为奇数的字符删除,将剩余字符形成的新字符串放在数组a中并输出。
时间: 2023-05-01 19:04:33 浏览: 114
题目描述:将字符串中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)
用指针访问数组,其功能是:将字符串s中除了下标为奇数,同时 ascii 值也为奇数的字
筛选出来,并存储到新的数组中。
首先,我们可以声明一个指针变量p,将其指向字符串s的第一个字符。然后,我们定义一个新的数组odd_chars,用于存储满足条件的字符。同时,我们需要声明一个变量odd_index,用于记录odd_chars数组中下一个可以存放字符的位置。
接下来,我们使用while循环来遍历字符串s中的每一个字符。在循环中,我们首先判断p所指向的字符的下标和ascii值是否同时为奇数。如果满足条件,我们将该字符存入odd_chars数组中,并将odd_index加1。最后,我们将p移动到下一个字符的位置。
循环执行完毕后,odd_chars数组中存储了满足条件的字符。我们可以通过循环遍历odd_chars数组,输出其中的元素,或者根据需求进行其他操作。
下面是示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
char s[] = "abcdefghi";
char* p = s;
char odd_chars[100];
int odd_index = 0;
while (*p != '\0') {
if (((p - s) % 2 != 0) && (int(*p) % 2 != 0)) {
odd_chars[odd_index] = *p;
odd_index++;
}
p++;
}
cout << "满足条件的字符为:";
for (int i = 0; i < odd_index; i++) {
cout << odd_chars[i] << " ";
}
cout << endl;
return 0;
}
```
在上述示例代码中,字符串s为"abcdefghi"。经过筛选后,满足条件的字符为'b', 'h'。