首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。 例如:58的二进制数据为11
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。 例如:58的二进制数据为11
admin
2020-07-23
41
问题
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。
例如:58的二进制数据为111010,则
DecToBin(char*des,58);
cout<
输出结果为:111010
注意:不能修改程序的其他部分,只能补充DecToBin(char*des,int n)函数。
试题程序:
#include
#define MAXLEN 1024
void DecToBin(char*des,int n)
{
}
void main()
{
char des[MAXLEN];
int n=58:
DecToBin(des,n);
cout<
return;
}
选项
答案
int j,i=0; char temp; while(n!=0) { des[i]=n%2+’0’; n=n/2; i++: } //转化结果为二进制最高位在des的下标最低处,顺序刚好相反 des[i]=NULL: for(j=0;j(i/2;j++) //将顺序倒过来 { temp=des[j];//交换 des[j]=des[i-1-j]; des[i-1-j]=temp: }
解析
本题为将十进制数转换成二进制数,因此采用除2求余法,通过该方法最终可以将一个十进制数转换成一个只包含1和。的数组。除2求余法得到的是。和1的数值,不是“0”和“1”字符,还需将数字转化成字符,0和1通过加上“0”的ASCII码便可得到0和1的ASCII码字符。因为除2求余法得到的字符数组是从低位到高位保存的,因此需要先倒序后再输出,可利用循环方式将顺序调转过来。
转载请注明原文地址:https://kaotiyun.com/show/39yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列情况中,不会调用复制构造函数的是
必须用一对大括号括起来的程序段是()。
有如下程序段:inti=0,j=1;nt&r=i;//①r=j;//②int*p=&i;//③*p=&r;//④其中会产生编译错误的语句是(
语句int*p=&k;定义了指针p,与这个语句等效的语句序列是()。
下列叙述中正确的是
下列选项中,正确的C++表达式是
下列叙述中正确的是
有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义
下列字符串中,不可以用做C++标识符的是()。
随机试题
Beyondthefrontier,________fromthenorthernhillstothesoutherncoast,________veryrealdangers.
你是单位领导,一位朋友的孩子在你单位上班,朋友让你平时多照顾一下他的孩子,你怎么做?
设“明法科”,培养执法官吏的提倡者是()
A.急性胆囊炎B.急性胰腺炎C.胰头癌D.急性阑尾炎Courvoisier征阳性常见于
肛门拭子法主要用于诊断
家禽体内性成熟后逐渐退化并消失的器官是
2018年9月,x市人民法院受理了本市甲公司诉Y市乙公司合同纠纷一案。2018年12月,Y市人民法院受理了债务人乙公司的破产申请,此时,甲、乙公司之间的合同纠纷尚未审结。下列关于该合同纠纷案的表述中,正确的是()。
市盈率是反映股票投资价值的重要指标,该指标数值最大,表明投资者越看好该股票的投资预期。()
流通中实际需要的货币量是受规律支配的,它应同:
Wholelifeispermanentinsuranceprotectionthatprotectsyouforyourwholelife,fromthedayyoupurchasethepolicyuntily
最新回复
(
0
)