编程题:统计与排序满足条件的四位数

需积分: 9 6 下载量 78 浏览量 更新于2024-09-18 收藏 120KB DOC 举报
"这篇资源包含了两道计算机编程试题,一道是关于寻找紧靠指定整数的素数,另一道是检查四位数是否只由0、2、4、6、8组成并进行排序和计数。" 第一题要求编写一个名为`jsValue(int m, int k, int xx[])`的函数,其目的是找到大于整数`m`的`k`个素数,并将它们存入数组`xx`中。给定的辅助函数`isP(int m)`用于判断一个数是否为素数。在`jsValue`函数中,从`m+1`开始遍历,对于每个数,如果它是素数并且`k`大于0,就将其存入数组`xx`并减少`k`的值,直到找到`k`个素数为止。在示例中,如果输入`175`,输出的素数序列应该是`19,23,29,31,37`。 第二题需要实现一个名为`jsVal()`的函数,处理已读取到数组`a`中的200个四位数。这个函数的任务是检查这些四位数的每一位是否只由0、2、4、6或8组成,如果是,就将这些数存入数组`b`并增加计数器`cnt`。已定义了数组`a[200]`、`b[200]`以及变量`cnt`。函数通过逐位检查数组`a`中的每一个数,对每一位进行模2运算来确认其是否为偶数(即0、2、4、6、8)。如果所有位都是偶数,就将该数添加到`b`数组中并增加`cnt`。之后,需要对数组`b`进行降序排序,然后在`main()`函数中调用`writeDat()`将结果`cnt`和符合条件的四位数输出到文件`OUT.DAT`。 这两道题都要求保持主函数`main()`、读函数`readDat()`和写函数`writeDat()`的内容不变,这意味着考生只能修改提供的`jsValue()`或`num()`函数以实现题目要求的功能。这既测试了考生对素数判断的理解,也考察了他们在数组操作、条件判断和排序算法方面的技能。