首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。 如:120的二进制数据为11
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。 如:120的二进制数据为11
admin
2021-09-05
47
问题
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。
如:120的二进制数据为1111000
例:
DecToBin(char*des,120);
cOut<
输出为:1111000
注意:不能修改程序的其他部分,只能补充DecToBin(char*des,int n)函数。
1 #include
2 #define MAXLEN 1024
3 void DecToBin(char*des,int n)
4 {
5
6 }
7 void main()
8 {
9 char des[MAXLEN];
10 int n=120 ;
11 DecToBin(deS,n);
12 cout<
13 return;
14 }
选项
答案
1 int j,i=0 ; 2 char temp; 3 while(n!=0) 4 { 5 des[i]=n%2+’0’; 6 n=n/2 ; 7 i++; 8 } //转化结果为2进制最高位在des的下标最低处,顺序刚好反了 9 des[i]=NULL; 10 for(j=0 ; j
解析
函数DecToBin(char*des,int n)的功能是实现十进制数转换成二进制数,可采用除2取余的方法来求得。由于要将最终的结果保存在字符数组中,因此在定义的函数中将将相除得到的数字0和l,再加上字符“0”的ASCII码从而实现将数字转换成ASCII码显示,考虑到除2取余得到的结果是倒序的,因此程序最后通过交换实现结果的正确显示。
[解题思路]
(1)本题为将十进制数转换成二进制数,因此采用除2求余法,通过该方法最终可以将一个十进制数转换成一个只包含1和0的数组。
(2)除2求余法得到的是0和1的数值,不是“0”和“1”字符,还需将数字转化成字符,0和1通过加上“0”的ASCII码便可得到0和l的ASCII码字符。
(3)因为除2求余法得到的字符数组是从低位到高位保存的,因此需要先倒序后再输出,可利用循环方式将顺序调转过来。
转载请注明原文地址:https://kaotiyun.com/show/cz5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列符号中不属于C++关键字的是()。
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。
下列关于派生类的叙述中,错误的是()。
下列有关类继承的叙述中,错误的是()。
类的析构函数的作用是()。
下列叙述中正确的是()。
在下列字符中,不允许作为C++标识符的是()。
下面不属于软件需求分析阶段主要工作的是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
下列字符串中可以用作C++标识符的是()。
随机试题
移植按遗传学的观点可分为
男性,54岁,左下6缺失3个月,左下5残冠,已做根管充填.如果右上6(颌)向伸长,应采取的措施是
卫气的分布特点是()
艾滋病的免疫调节剂治疗不包括()。
如评价项目的物质危险源属非重大危险源,其环境风险评价工作等级为()。
项目监理机构处理业主和承包方的利益冲突或矛盾时,应坚持的原则是()。
下列哪项关于保险代理机构交存保证金的叙述是错误的?( )
(2002年考试真题)下列各项中,属于“吸收直接投资”与“发行普通股”筹资方式所共有缺点的有()。
能直接与CPU交换信息的存储器是()。
A、Thefirsthousetheysawistooexpensive.B、Sheispleasedwiththepricesetbytheseller.C、Theymaysavesomemoneyfort
最新回复
(
0
)