def DToR(m,r): t=______(1)______ while m!=0 and r!=0: c=m % r #求模 if (c>9): t=chr(c-10+65)+t else: t=______(2)______+t m = m // r #整除 ______(3)______ t while True: ipt=input("请输入十进制整数('q' 退出程序):\n") if ipt=='q': break r=int(input("请输入欲转换进制(如2,8,16等):\n")) rst=DToR(______(4)______,r) print('将%s转换为%d进制的结果为:%s' %(ipt,r,rst))
时间: 2023-12-13 20:04:45 浏览: 50
请按照以下提示填空:
```python
def DToR(m,r):
t=''
while m!=0 and r!=0:
c=m % r #求模
if (c>9):
t=chr(c-10+65)+t
else:
t=str(c)+t # 填空①:将数字转换为字符串并添加到 t 的前面
m = m // r #整除
return t
while True:
ipt=input("请输入十进制整数('q' 退出程序):\n")
if ipt=='q':
break
r=int(input("请输入欲转换进制(如2,8,16等):\n"))
rst=DToR(int(ipt),r) # 填空②:将 ipt 转换为 int 类型,并作为参数传给 DToR 函数
print('将%s转换为%d进制的结果为:%s' %(ipt,r,rst))
```
这段代码中有四个空需要填写,分别对应于:
1. 第 3 行空缺处,应填入代码,用于初始化变量 `t`。
2. 第 7 行空缺处,应填入代码,用于将数字 `c` 转换为字符串,并添加到 `t` 的前面。
3. 第 9 行空缺处,应填入代码,用于判断循环是否继续进行。
4. 第 14 行空缺处,应填入代码,将变量 `ipt` 转换为 `int` 类型,并作为参数传给 `DToR` 函数。
相关问题
cc1: warning: ‘-werror=’ argument ‘-werror=non-virtual-dtor’ is not valid for c
### 回答1:
警告:\ xe2 \ x80 \ x98-werror = \ xe2 \ x80 \ x99参数\ xe2 \ x80 \ x98-werror = non-virtual-dtor \ xe2 \ x80 \ x99不适用于c.
### 回答2:
在C语言中,-werror=non-virtual-dtor不是一个有效的选项。这是因为C语言没有虚拟析构函数这个概念,因此这个选项是多余的。虚拟析构函数只在C++中有用。
警告出现的原因可能是因为在编译时使用了一些C++选项,而源代码中存在一些不兼容的内容。这些选项可能在编译器中默认开启,因此可能会出现警告。
解决这个问题的方法是检查编译选项并相应地更改它们。如果是在使用类似于Makefile的简单编译器命令行工具中编译代码,则需要手动更改命令行选项。
在Makefile中,可以将编译器命令行中的“-Werror=non-virtual-dtor”选项删除,或者简单地将其替换为“-Wno-non-virtual-dtor”选项。
总之,这个警告是因为选项不适用于C语言。如果遇到这种警告,需要检查编译选项并相应地更改它们,以使其适用于C语言。
### 回答3:
在C语言中,不存在虚析构函数的概念,因此使用“-werror=non-virtual-dtor”参数来强制编译器在编译代码时将没有虚析构函数的类作为警告或错误报告是无效的。
虚析构函数是用于在删除已分配的对象时,确保正确处理多态类的析构函数。在C++中,虚析构函数是很常见的,但在C语言中并不支持虚析构函数。因此,C语言编译器会忽略“-werror=non-virtual-dtor”参数,并将其视为无效参数。
此外,C语言是一种不支持面向对象程序设计的编程语言,因此它不支持类和对象的概念。相反,C语言更注重可移植性和对底层硬件的直接控制。因此,在C语言中使用虚析构函数的需求也就相应减少了。
总结来说,在C语言中不存在虚析构函数的概念,因此在编译代码时使用“-werror=non-virtual-dtor”参数是没有意义的。如果想要使用虚析构函数,应该采用面向对象的编程语言,比如C++。
-Werror=’ argument ‘-Werror=non-virtual-dtor’ is not valid for C In file included from /home/user/opencv-3.4.7/modules/core/test/test_precomp.hpp:12:0, from /home/user/opencv-3.4.7/build/modules/core/opencv_test_core_pch_dephelp.cxx:1: /home/user/opencv-3.4.7/modules/core/include/opencv2/core/private.hpp:66:12: fatal error: Eigen/Core: 没有那个文件或目录 # include <Eigen/Core> ^~~~~~~~~~~~
这个错误表明你在编译C代码时使用了一个无效的编译器选项。"-Werror=non-virtual-dtor" 是一个用于C++的编译器选项,而不适用于C语言。对于C语言,你应该使用 "-Werror" 选项来将所有警告视为错误。
另外,关于缺少 "Eigen/Core" 文件或目录的错误,这意味着你的编译环境缺少了Eigen库。Eigen是一个用于线性代数运算的C++模板库,如果你的代码中使用了Eigen库,并且编译环境中没有安装该库,那么你需要安装Eigen库或者检查你的路径设置是否正确。
希望这些信息可以帮助到你解决问题。如果还有其他问题,请随时提问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![apk](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)