使用VC6打开考生文件夹下的源程序文件modi2.epp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。 如:120的二进制数据为11

admin2019-03-05  56

问题 使用VC6打开考生文件夹下的源程序文件modi2.epp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,int n)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。
    如:120的二进制数据为1111000
    例:
    DecToBin(char*des,1 20);
    cout<    输出为:1111000
    注意:不能修改程序的其他部分,只能补充DecToBin(char*des,int n)函数。
#include
#define M.AXLEN 1 02 4
void DecToBin(char*des,int n)
{
}
void main()
{
    char deS[MAXLEN];
    int n=12 0;
    DecToBin(des,n);
    cout<    return;
}

选项

答案int j,i=0; char temp; while(n!=0) { des[i]=n%2+‘0’; n=n/2; i++; } //转化结果为2进制最高位在des的下标最低处,顺序刚好反了deS[i]=NULL; for(j=0;j
解析 函数DecToBin(char*des,int n)的功能是实现十进制数转换成二进制数,可采用除2取余的方法来求得。由于要将最终的结果保存在字符数组中,因此在定义的函数中将将相除得到的数字0和1,再加上字符“0”的ASCⅡ码从而实现将数字转换成ASCⅡ码显示,考虑到除2取余得到的结果是倒序的,因此程序最后通过交换实现结果的正确显示。
转载请注明原文地址:https://kaotiyun.com/show/QvAp777K
0

最新回复(0)