编写程序实现以下:输入一个十进制正整数,转换成16进制数。再输入一个数(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f),统计这个数出现的次数。
时间: 2023-07-27 16:22:13 浏览: 132
好的,这个问题很简单,您可以参考以下代码:
```python
# 十进制转换成十六进制函数
def dec2hex(num):
hex_dict = {10: 'a', 11: 'b', 12: 'c', 13: 'd', 14: 'e', 15: 'f'}
hex_num = ''
while num:
remainder = num % 16
if remainder >= 10:
hex_num = hex_dict[remainder] + hex_num
else:
hex_num = str(remainder) + hex_num
num //= 16
return hex_num
# 统计输入的字符出现次数函数
def count_char(string, char):
count = 0
for c in string:
if c == char:
count += 1
return count
# 主程序
num = int(input("请输入一个十进制正整数:"))
hex_num = dec2hex(num)
print(f"十进制数 {num} 转换成十六进制数为 {hex_num}")
char = input("请输入一个0-9或a-f的字符:")
count = count_char(hex_num, char)
print(f"十六进制数 {hex_num} 中字符 {char} 出现的次数为 {count}")
```
运行结果如下:
```
请输入一个十进制正整数:1234
十进制数 1234 转换成十六进制数为 4d2
请输入一个0-9或a-f的字符:2
十六进制数 4d2 中字符 2 出现的次数为 1
```
希望能帮到您!
阅读全文