当前位置: 首页 > 计算机 > 问题详情
问题

试题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 %d ", cnt, sum);

fclose(fp);

}

void main()

{

cnt = sum = 0;

countValue();

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

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

writeDat();

发布时间:2016-10-16
参考答案

参考答案:试题1答案:void 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以内)”,由于最小的素数是2,且i+10要在100以内(含100),所以筛选的范围是2~90。题目要求的筛选条件是“满足i、i+4、i+10都是素数的整数i”。在答题之前,应先通读题目已给出的源程序,在我们要实现的函数countvalue()之前给出一个在题目中从未提及的函数isPrime()。仔细分析这个函数的代码不难发现,它实现了从2~number/2内寻找能整除number的数,如果找到就使变量tag为0,此时循环条件将不成了,最终返回0,如果找不到,变量tag为1,返回1.这段代码实现的是判断一个数是够是素数。所以在函数中对筛选条件可以简化为if(isPrime(i) && isPrime(i+4) && isPrime(i+10))。程序的流程是:调用countvalue()函数对数据进行处理,最后由writeDAT()函数将结果写入文件out.dat中。在countvalue()函数中,For循环的功能是判断i、i+4、i+10是否都为素数,若在素数则将i累加到sum中,同时个数cnt加1,函数结束。

相关问题
  • 某机器字长为n 最高位是符号位 其定点整数的最大值为()。 A

    某机器字长为n,最高位是符号位,其定点整数的最大值为()。A 2n-1 B 2n-1 -1 C 2n D 以上都不对请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 某机器字长为n 最高位是符号位 其定点整数的最大值为()。 A

    某机器字长为n,最高位是符号位,其定点整数的最大值为()。A 2n-1B 2n-1-1C 2nD 2n-1请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 在数据库处理过程中 执行语句S=int(50*rnd)后 S的值是()。

    在数据库处理过程中,执行语句S=int(50*rnd)后,S的值是()。A [0,49]的随机整数B [0,50]的随机整数C [1,49]的随机整数D [1,50]的随机整数请帮忙给出

    答案解析
  • 机器字长确定后 ()运算过程中不可能发生溢出。 A. 定点正整

    机器字长确定后,()运算过程中不可能发生溢出。A 定点正整数 X 与定点正整数 Y 相加B 定点负整数 X 与定点负整数 Y 相加C 定点负整数 X

    答案解析
  • 6位无符号二进制数能表示的最大十进制整数是A.64B.63C.32D.31

    6位无符号二进制数能表示的最大十进制整数是A 64B 63C 32D 31请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 从键盘上接受一位整数并存入内存变量X 正确的操作为()。A.WAIT

    从键盘上接受一位整数并存入内存变量X,正确的操作为()。A WAIT TO XB ACCEPT TO XC INPUT TO XD STORE TO X

    答案解析
  • 试题3如果删除一个非零无符号二进制偶整数后的2个0 则此数的值

    试题3如果删除一个非零无符号二进制偶整数后的2个0,则此数的值为原数的()。A.4倍B.2倍C.1 2D.1 4

    答案解析
  • 试题2本程序中 函数fun的功能是计算整数n的阶乘。程序中存在若

    试题2本程序中,函数fun的功能是计算整数n的阶乘。程序中存在若干错误,请找出并改正。(注意:不改动程序的结构,不得增行或删行。) include <stdio h

    答案解析
  • 若对二进制整数x和y的各位进行异或运算后的结果为全0 则说明(1

    若对二进制整数x和y的各位进行异或运算后的结果为全0,则说明(10)。(10)A x>yB x<yC x=yD x =-y请帮忙给出正确答案和分析,谢谢!

    答案解析
  • 小张本学期有四门课程的成绩分别为:83 79 85 99 还有一门课

    小张本学期有四门课程的成绩分别为:83、79、85、99,还有一门课程的成绩在95分以上。已知这五门课程的平均分恰为整数,因此可以推断,这五门课程的平均

    答案解析

最新问题

Copyright © 2016-2023 114题库网(114158.com)All Rights Reserved.  免责声明 豫ICP备19007809号-5