试题1下列程序的功能是:找出所有100以内(含100)满足i,i+4,i+10都是素数的整数i(i+10也在100以内)

15 查阅

试题1

下列程序的功能是:找出所有100以内(含100)满足i,i+4,i+10都是素数的整数i(i+10也在100以内)的个数cnt以及这些i之和sum。请编写函数countvalue()实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。

注意:部分源程序已给出。

请勿改动主函数main()和函数writeDAT()的内容。

试题程序:

#include <stdio.h>

int cnt, sum;

int isPrime(int number)

{

int i, tag = 1;

for (i=2; tag && i<=number/2; i++)

if (number%i == 0)

tag = 0;

return tag;

}

void countValue()

{

}

void writeDat()

{

FILE *fp;

fp = fopen("out.dat", "w");

fprintf(fp, "%d\n%d\n", cnt, sum);

fclose(fp);

}

void main()

{

cnt = sum = 0;

countValue();

printf("满足条件的整数的个数=%d\n", cnt);

printf("满足条件的整数的和值=%d\n", sum);

writeDat();

参考答案:

试题1void countvalue(){int i;for(i=2;i<=90;i++)if(isPrime(i) && isPrime(i+4) && isPrime(i+10)){cnt++;sum+=i;}} }试题1分析:该程序属于按条件查找数字的题目,考核的知识点为:(1)素数的判定;(2)统计个数并求和。本题的解题思路是:题目要求的筛选范围是“所有100以内(含100)满足i、i+4、i+10都是素数的整数i(i+10也在100以内)”,由于最小的

计算机三级