1、计算机三级网络技术机试(上机操作)模拟试卷 47及答案与解析 一、程序设计题 1 请编写函数 countValue(),其功能是:找出所有 100以内 (含 100)满足 I、 I+4、I+10都是素数的整数 I(I+10也是在 100以内 )的个数 count,以及这些 I之和 sum。函数 WriteData()负责把结果输出到 OUT DAT文件中。 注意:部分源程序已给出。 请勿改动主函数 main()和写函数 WriteData()的内容。 试题程序: #include int count, sum void WriteData(); void countValue() ) void
2、 main() count=sum=0; countValue(); printf(“count=- d nsum= d n”, count, sum); WriteData(); void WriteData() FILE*fp; fp=fopen(“OUT DAT”, “W”); fprintf(fp, “ d n d n”, count, sum); fclose(fp); 计算机三级网络技术机试(上机操作)模拟试卷 47答案与解析 一、程序设计题 1 【正确答案】 void countValue() int i, j, k, d3, flag; for(i=0; i=100-10; i
3、+) dE0=i; d1=i+4; d2=i+10; 将三个数存入数组,以方便用循环 flag=0;将标志位清零 for(k=0; k3; k+) for(j=2; jdk; j+) 判断是否为素数 if(dk j=0) 如果一个数除了自身和 1之外还有其他余 数,则该数不是素数 flag=1;将标志置 1 break; 一旦发现不满足条件的数就退出循环 if(flag=0)如果满足条件 sum+=i; 将该数加人总和 count+;计数器加 1 ) 【试题解析】 本题主要考查素数的判断问题。 判断是否为素数:素数的定义是:若一个数除了其自身和 1再没有其他的除数,则该数就是素数。故用其定义可以很容易判断。在 2到所判断数之间的数进行扫描,若有一个除数,则该数就不是素数。 判断 3个数是不是都是素数,若有一个不是,则不符合要求,即可进行下一轮判断。