1、国家三级(网络技术)机试模拟试卷 132及答案与解析 一、程序设计题 1 国家三级(网络技术)机试模拟试卷 132答案与解析 一、程序设计题 1 【正确答案】 【试题解析】 首先,本题要定义多个变量,包括两个循环变量循环 i、 j:用来存放四位数分解之后各位数的变量 qw(千位 )、 bw(百位 )、 sw(十位 )和 gw(个位 );两个用来存放重新组合数字的变量 newV1和 newV2。 通过 for循环依次对数组中的每个四位数进行分解,每分解一个四位数,根据题目要求,对其各位数进行重新组合,形 成两个新的十位数,组合条件分别是原四位数的千位和十位组成一个十位数,个位和百位组成一个十位数
2、,并将两个新的十位数分别赋给变量 newV1和 newV2。 数字重组完毕之后,再根据题目要求筛选满足条件的四位数,本题需要考虑多个筛选条件:一是新组合的十位数中,其十位数不能为 0,即原四位数的千位和个位数字不能为 0;二是两个新组合的十位数之差必须大于等于 0小于等于 10;三是两个新组合的数字均为奇数。 将同时满足以上 3个条件的四位数赋给数组 bcnt,同时数组下标值加 1,当for循环执行完毕后,则将所有满足条件的四位数全部存放到数组 bcnt中。 最后通过两个 for循环,对数组 bcnt中的元素按从大到小的顺序排序,排序过程中,可用 newV1或 newV2作为数据交换的中间变量。