问答题
18分
打开考生文件夹proj3下的工程proj3,其中定义了BaseX类(X进制整数类),其中成员函数print输出该整数指定数制的表示形式。使用展转相除法,可从低位到高位逐位求出所需要的表示形式,例如,求...
打开考生文件夹proj3下的工程proj3,其中定义了BaseX类(X进制整数类),其中成员函数print输出该整数指定数制的表示形式。使用展转相除法,可从低位到高位逐位求出所需要的表示形式,例如,
求十制数231的四进制表示形式,方法如下:
231 / 4 = 57 ...... 3
57 / 4 = 14 ...... 1
14 / 4 = 3 ...... 2
结果是:3213
在main函数中给出了一组测试数据,正确的输出是:2001
注意:只需在 //********333******** 和 //********666******** 之间填
入所编写的若干语句,不要改动程序中的其他内容。
求十制数231的四进制表示形式,方法如下:
231 / 4 = 57 ...... 3
57 / 4 = 14 ...... 1
14 / 4 = 3 ...... 2
结果是:3213
在main函数中给出了一组测试数据,正确的输出是:2001
注意:只需在 //********333******** 和 //********666******** 之间填
入所编写的若干语句,不要改动程序中的其他内容。
参考解析: 参考答案:
while(num)
{
arr[index++]=num%x;
num /=x;
}
考点分析:
主要考察将一个数转化为x进制,使用辗转相除法来处理。
答案解析
将一个数转化为x进制,使用辗转相除法,将余数放在arr[]数组中,对商继续使用辗转相除法来处理,直到商为0.最后反向输出数组中的值,即为x进制的数。