1、网络技术上机考试,现代教育技术中心,取位运算题型,取位运算涉及4位数取位。千位=4位数/1000;百位=4位数%1000/100;十位=4位数%100/10;个位=4位数%10;,取位运算题型,【知识点】数位重组 例题:已知一个四位数千位数字为q,百位数字为b,十位数字为s,个位数字为g。重组两位数ab和cd,ab的十位为q,个位为s;cd的十位为b,个位为g。 int a,b,c,d; ab=q*10+s; /注意:十位要乘10,而不是q+s cd=b*10+g;,取位运算题型,【知识点】求平均值 例题:有100个四位数存在数组b中,统计能被2整除的四位数个数及这些数的平均值。 int i,
2、cnt,sum; double avg; for(i=0;i100;i+)if(bi%2=0)cnt=cnt+1; sum=sum+ai; avg=sum/cnt;,取位运算题型,【知识点】求平均值 例题:有100个四位数存在数组b中,统计能被2整除的四位数个数及这些数的平均值。 int i,cnt,sum; double c; for(i=0;i100;i+)if(bi%2=0)cnt=cnt+1; sum=sum+ai; avg=sum/cnt;,取位运算题型,【知识点】相邻数问题相邻数问题主要是指数与相邻数比较后进行筛选。有100个四位数存在数组b中,依次从数组中取一个数,如果该数连续大
3、于他后面的5个数且是奇数,则统计满足该条件的4位数个数。 int i,j,flag,cnt; flag=1;,取位运算题型,for(i=0;i95;i+)for(j=i;ji+5;j+)If(aiaj)flag=0; if(flag=1 ,取位运算题型,中间的筛选条件亦可以写成: if(aiai+1,取位运算题型,【知识点】后三位数问题 有100个四位数存在数组b中,依次从数组中取一个数,按照该4位数的后3三位降序排序。 int i,j temp; for(i=0;i99;i+)for(j=i+1;j100;j+)if(ai%1000aj%1000)temp=ai; ai=aj; ai=temp; ,取位运算题型,【数位题记忆口诀】:一定义;二组合;三筛选;,取位运算题型,已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数等于百位数上的数加十位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数把结果输出到OUT.DAT文件。例如:6712,6+2=7+1,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+91+2,则该数不满足条件计算平均值pjz2.,