3.输入一个字符串,去除该字符串中所有数字后打印该字符串
时间: 2023-10-05 16:13:52 浏览: 58
题目描述: 输入一个以#结尾的字符串,过滤掉所有的非十六进制字符(不区分大小写),组成一个新的表示十六进制数的字符串,输出该字符串并将其转换为十进制数后输出。题目保证输出结果在长整型范围内。
解题思路:遍历字符串,判断是否为0-9,A-F,a-f字符。是十六进制字符则拼接到新字符串,最后将新字符串转为十进制整数输出。
代码实现:
```python
my_str = input().strip()
hex_str = ''
for char in my_str:
if char.isdigit() or 'a' <= char <= 'f' or 'A' <= char <= 'F':
hex_str += char
print(hex_str)
hex_num = int(hex_str, 16)
print(hex_num)
```
输入样例:
```
a@11#R$#@!dlfjs23048*180r#^#&%df
```
输出样例:
```
a11df23048180
469196199055872256
```
相关问题
python .输入一个字符串,去除该字符串中所有数字后打印该字符串
您好!您可以使用以下的Python代码去除字符串中的所有数字并打印结果:
```python
string = input("请输入一个字符串:")
result = ''.join(char for char in string if not char.isdigit())
print("去除数字后的字符串是:", result)
```
这段代码首先提示用户输入一个字符串,然后使用列表推导式遍历字符串中的每个字符,如果字符不是数字,则将其添加到一个新的字符串中。最后打印出去除数字后的新字符串。希望对您有所帮助!
c语言输入一个字符串,将字符串中的数字去掉,输出该字符串
以下是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100]; // 假设字符串不超过 100 个字符
int i, j;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 使用 fgets() 输入字符串
// 去掉字符串中的数字
for (i = j = 0; str[i] != '\0'; i++) {
if (!isdigit(str[i])) {
str[j++] = str[i];
}
}
str[j] = '\0'; // 在字符串末尾加上结束符
printf("去掉数字后的字符串为:%s\n", str);
return 0;
}
```
解释:
1. 使用 `fgets()` 函数输入字符串,可以避免 `scanf()` 函数的一些问题。
2. 使用 `isdigit()` 函数判断一个字符是否为数字。
3. 如果不是数字,将该字符复制到新的字符串中。
4. 最后在新的字符串末尾加上结束符 `\0`。