试题1下列程序的功能是:找出所有100以内(含100)满足i,i+4,i+10都是素数的整数i(i+10也在100以内)
试题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以内)”,由于最小的
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
