首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明1】 函数Counter(int n,int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。例如,十进制数22的二进制表示
阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明1】 函数Counter(int n,int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。例如,十进制数22的二进制表示
admin
2010-04-12
77
问题
阅读以下说明和c函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明1】
函数Counter(int n,int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。例如,十进制数22的二进制表示为10110。对于该二进制数,l的个数为3,在w[O]中存入2(即2
1
)、w[1]中存人4(即2
2
)、w[2]中存入16(即2
4
)。
【C函数1】
int counter(int n,int w[])( int i=0,k=1 ;
while( (1) ) {
if(n%2)w[i++] =k;
n=n/2; (2) ;
)
return i;
)
【说明2】
函数smove(int A[],int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若A
、A[j]都是奇数,则从前往后找出一个偶数,再与A[j]进行交换;若A
、A[j]都是偶数,则从后往前找出一个奇数,再与A
进行交换;若A
是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。
【c函数2】
void Smove(int A[],in七n)( int temp,i=0,j=n-1 ;
if(n<2)return;
while(i
if(A
%2==l&&A[j]%2==1)((3) ;)
else if(A
%2==0&&A[j]%2==0) ( (4) ;)
else(
if ( (5) ) {
ternp=A
;A
=A[j];A[j] =temp;
}
i十+,j一一;
}
}
}
选项
答案
(1)n!=0 (2)k*=2 (3)i++ (4)j++(5)(A[j]%2==0)&&(A[j]%2 ==1)
解析
根据函数1的例子看出while循环中就是要把十进制整数n转换为二进制,并对为1的位数进行保存,所以循环的条件就是“n!=0”,一旦n=0,就说明n的二进制已经表示完毕,所以空(1)的答案为“n!=0”或者是“n>0”。每执行一次“n=n/2”,二进制的数就增加一位,因为要保存二进制数中l所在位置的权,所以k的值就需要乘以2来记录当前位置的权,故空(2)的答案为“k=k * 2”或者“k*=2”。空(3)是满足条件A
和A[j]都是奇数时的处理过程,从“说明2”中我们知道这时候需要“从前往后找出一个偶数”,所以空(3)的答案为“i++”,向后寻找偶数;空(4)是满足条件A
和A[j]都是偶数时的操作,这时需要“从后往前找出一个奇数”,所以空(4)的答案为“j--”,从后面向前寻找奇数;满足空(5)的条件之后的操作是将A
和A[j]进行交换,从“若A
是偶数而A[j]是奇数,则交换两者”这句话,可以看出满足将A
和A[j]进行交换的条件是A
是偶数而A[j]是奇数,即空(5)的答案为“(A
%2==0)&&(A[j]%2==1)”。
转载请注明原文地址:https://kaotiyun.com/show/uBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
信息系统运行过程中的数据备份工作不包括________________。
下面无助于加强计算机安全的措施是(19)。
电子商务网站上可以收集到大量客户的基础数据、交易数据和行为数据。以下数据中,()不属于行为数据。
在Microsoft Word中点击“文件”→“另存为”,在保存类型下拉框中不能选择的有(45)。
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。66
在大型分布式信息系统中,为提高信息处理效率,减少网络拥堵,信息存储的原则是:数据应尽量(66)________________。
在文档中插入形状“圆”后,在圆心位置输入了字符C却看不到,为将字符C显示出来,可以右击该形状,选择将其__________。
在Excel中,为标识一个由单元格B3、B4、C3、C4、D4、D5、D6、D7组成的区域,下列选项中,正确的是______。
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。说明在一台计算机上安装完成Windows2000服务器及相应的服务组件。
随机试题
简述公务员考核的原则。
A.藿香正气散B.玉枢丹C.葛根芩连汤D.香连丸治疗湿热泄泻的主方是
患者男,28岁。O型血,患再生障碍性贫血半年,血红蛋白70g/L,白细胞2.2×109/L,血小板20×109/L。该患者早晨刷牙时发现出血,应立即给予的措施是
下列关于阑尾的描述正确的是
对宫颈黏液结晶描述不正确的是
关于幕墙工程后置埋件(锚栓)施工要求的说法,正确的是()。
下列关于党的领导、人民民主专政和依法治国三者关系的说法中,表述正确的是()。①依法治国的本质是保障人民当家作主②党的领导是人民当家作主和依法治国的根本保证③依法治国是党领导人民治理国家的基本方略④人民当家作主是社会主义民主政治的本质要求
AstheSenatepreparestovoteonlegislationtoempowertheFoodandDrugAdministrationtoregulatetobaccoproducts,itsmemb
输入VB源程序时,若一个命令行中包含两个语句,则两个语句之间的分隔符应使用
若有以下程序#include#defineS(x)(x)*(x)#defineT(x)S(x)/S(x)+1main(){intk=3,j=2;printf("%d,%d\n",S(k+j),T(k+j));}则程序的输出结果是()
最新回复
(
0
)