您的当前位置:首页计算机三级网络技术机试(上机操作)模拟试卷47(题后含答案及解析)

计算机三级网络技术机试(上机操作)模拟试卷47(题后含答案及解析)

2021-07-07 来源:小侦探旅游网


计算机三级网络技术机试(上机操作)模拟试卷47 (题后含答案及解

析)

全部题型 2. 程序设计题

程序设计题

1. 请编写函数countValue( ),其功能是:找出所有100以内(含100)满足I、I+4、I+10都是素数的整数I(I+10也是在100以内)的个数count,以及这些I之和sum。函数WriteData( )负责把结果输出到OUT.DAT文件中。 注意:部分源程序已给出。 请勿改动主函数main( )和写函数WriteData( )的内容。 试题程序: #include<stdio.h> int count,sum} void WriteData( ); void countValue( ) { ) void 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);}

正确答案:void countValue( ) { int i,j,k,d[3],flag; for(i=0;i<=100-10;i++) { dE0]=i;d[1]=i+4;d[2]=i+10; //将三个数存入数组,以方便用循环 flag=0;//将标志位清零 for(k=0;k<3;k++) { for(j=2;j<d[k];j++) //判断是否为素数 if(d[k]%j==0) //如果一个数除了自身和1之外还有其他余 数,则该数不是素数 { flag=1;//将标志置1 break; //一旦发现不满足条件的数就退出循环 } } if(flag==0)//如果满足条件 { sum+=i; //将该数加人总和 count++;//计数器加1 } } )

解析:本题主要考查素数的判断问题。 ①判断是否为素数:素数的定义是:若一个数除了其自身和1再没有其他的除数,则该数就是素数。故用其定义可以很容易判断。在2到所判断数之间的数进行扫描,若有一个除数,则该数就不是素数。②判断3个数是不是都是素数,若有一个不是,则不符合要求,即可进行下一轮判断。

因篇幅问题不能全部显示,请点此查看更多更全内容