首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
68
问题
使用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全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;intmain(){intsum=0:for(inti=1;i
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
下列有关继承和派生的叙述中,正确的是()。
已知类MyClock中未显式定义构造函数,并重载了加法运算符,使得下面的语句序列能够正确执行:MyClockc1,c2;//……c2=c1+10;由此可知:为类MyClock重载的“+”运算符函数的声明是(
数据结构中,与所使用的计算机无关的是数据的()。
已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()。
关系表中的每一行记录称为一个()。
下列字符串中,不可以用作C++标识符的是()。
算法的时间复杂度是指
设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表S的键为员工号,则表E的
随机试题
下列集成电路中具有记忆功能的是()。
“教育即生产”体现了哪位教育家的教育价值观()
中国近代史上,中国人民第一次大规模的反侵略武装斗争是()
消毒
护士在指导乳痛病人根治术后进行有效的功能锻炼,下列措施正确的是()
下列关于旅游法律责任主体的说法中,正确的有()。
在疟疾流行地区,许多人多次感染疟疾后,对此病产生免疫力。很明显,感染一次疟疾后人的免疫系统仅受到轻微的激活;而多次感染疟疾,与疟原虫接触,可产生有效的免疫反应,使人免于患疟疾。以下哪项如果为真,最能削弱上述结论?
以下不能正确计算代数式1/3sin2(1/2)值的C语言表达式是 ______。
有如下程序:#jnclude<iostream>usingnamespacestd;classPart{public:Part(intx=0):val(x){cout<<val;}~P
【S1】【S3】
最新回复
(
0
)