编程题:寻找素数与偶数位数的四位数

需积分: 0 0 下载量 179 浏览量 更新于2024-08-01 收藏 237KB DOC 举报
"该资源包含了两个编程题目,都是关于C语言的编程练习,涉及素数判断和特定条件的数字筛选。题目1要求编写一个函数jsValue来找出大于给定整数m的k个素数,并存储到指定数组中。题目2则要求统计并排序四位数中,所有位上数字只由0、2、4、6、8组成的情况。" 在题目1中,主要的知识点包括: 1. 素数判断:函数`isP(int m)`用于判断一个整数是否为素数。它通过从2遍历到m-1,检查是否存在能整除m的因子,如果有则返回0表示非素数,否则返回1表示素数。这是一个典型的素数判断算法。 2. 数组操作:函数`num(int m, int k, int xx[])`的任务是找到大于m的k个素数,并存储在数组xx中。它通过递增m并调用`isP()`函数,找到素数后将其存入数组,并减少剩余要找的素数数量k。 3. 文件操作:虽然题目未给出`writeDat()`函数的具体实现,但显然这个函数用于读取输入数据并输出结果到文件`out.dat`中。 题目2的重点在于: 1. 条件筛选:函数`jsVal()`遍历数组a中的每一个四位数,通过逐位检查每一位是否为偶数(除了0以外),且不是1,来确定这个数是否符合条件。符合条件的数被添加到数组b中,并计数器cnt递增。 2. 数组排序:在筛选完成后,对数组b进行降序排列。这里采用了简单的冒泡排序方法,通过两层循环比较并交换相邻元素的位置,确保数组b中的元素按降序排列。 3. 文件操作:同样,`writeDat()`函数用于在完成计算后,将结果cnt和排序后的数组b写入文件`OUT.DAT`。 这两个题目都涉及到基础的C语言编程技巧,包括函数定义、参数传递、循环结构、条件判断、数组操作以及文件I/O。同时,它们还要求对数论中的素数概念有一定的理解。在解决这类问题时,需要具备扎实的算法基础和逻辑思维能力。