为了帮助大家复习好2014年计算机等级考试,本次我们考吧网特为广大考生整理了计算机等级考试模拟试题,希望广大考生能够喜欢。本次主要汇编了计算机等级《二级C++》精选试题:
三、简单应用题(24分)
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,intn)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。
例如:58的二进制数据为111010,则
DecToBin(char*des,58);
cout< 输出结果为:111010
注意:不能修改程序的其他部分,只能补充DecToBin(char*des,intn)函数。
试题程序:
#include
#defineMAXLEN1024
voidDecToBin(char*des,intn)
{
}
voidmain()
{
chardes[MAXLEN];
intn=58:
DecToBin(des,n);
cout< return;
}
参考答案:
intj,i=0;
chartemp;
while(n!=0)
{
des[i]=n%2+’0’;
n=n/2:
i++:
}//转化结果为二进制最高位在des的下标最低处,顺序刚好相反
des[i]=NULL;
for(j=0;j {
temp=des[j];//交换
des[j]=des[i-1-i];
des[i-1-i]=temp;
}
【解析】本题为将十进制数转换成二进制数,因此采用除2求余法,通过该方法最终可以将一个十进制数转换成一个只包含1和0的数组。除2求余法得到的是0和1的数值,不是“0”和“1”字符,还需将数字转化成字符,O和1通过加上“0”的ASCIl码便可得到0和1的ASCIl码字符。因为除2求余法得到的字符数组是从低位到高位保存的,因此需要先倒序后再输出,可利用循环方式将顺序调转过来。
推荐阅读: