下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(1+10也是在100以内)的
下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(1+10也是在100以内)的个数cnt,以及这些I之和sum。请编制函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件out64.dat中(数值1不是素数)。
注意:部分源程序已给出。
请勿改动主函数main()和输出数据函数writeDAT()的内容。
试题程序:
include<stdio.h>
int cnt, sum;
int isPrime(int number)
{
int i,tag=1;
if (number==1)
return 0;
for(i=2;tag && i<=number/2;i++)
if(number%i==0) tag=0;
return tag;
}
void countValue ( )
{
}
void main( )
{
cnt=sum=0;
countValue ( );
printf ( "满足条件的整数的个数=%d\n", cnt);
printf ( "满足条件的整数的和值=%d\n", sum);
writeDAT ( );
}
writeDAT ( )
{
FILE *fp;
fp=fopen("out64.dat","w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
void countValue() { int i,count=0,xx[30]; int j,k,m; cnt=0; sum=0; for(i=2;i90;i++) /*找数的范围为100以内*/ if(isPrime(i)) /*如果该数为素数,则将它存入数组xx中,并统计个数*/ { xx[count]=i; count++; } for(i=0;icount;i++) /*如果数组xx中的素数加4和加10得到的数仍为素数*/ if(isPrime(xx[i]+4)&&isPrime(xx[i]+10)) { cnt++; /*统计满足条件的数的个数*/ sum+=xx[i]; /*将满足条件的数组xx中的数求和*/ } } 解析:本题考查的知识点如下:
(1)循环结构与判断结构的嵌套使用。
(2)判断结构中多个条件的布尔运算。
题中要求判断在100以内,i,i+4,i+10都是素数的个数。因为i+10也必须在100以内,1不是素数,我们可以从2开始判断到89即可(90是偶数,明显不是素数)。可以先找出2到89之间素数的个数,再判断这些素数加4和加10后是否还是素数。加4是素数与加10是素数必须同时满足,所以两个条件间用“与”运算。
帮忙解决以下方程.1.1/5X+50=2/3X+62.2/5X+5/8*2/5x+5/7(X-2/ 数学 2020-06-12 …
一、我们知道1/1×2=1/1-1/2=1/2,1/2×3=1/2-1/3=1/6验证:1/3×4 数学 2020-07-17 …
求VB大神编写关于fornext语言的程序1、求Fibonacci数列前30项,每行输出5个数。( 其他 2020-07-23 …
阅读下面的程序,写出运行结果.(1)#include"stdio.h"main(){inti=0, 其他 2020-07-23 …
方程1/x-7-1/x-5-1/x-6-1/x-4的解是x=11/2,而7+5+6+4/4=11/ 数学 2020-07-31 …
有关复数的题目一.求适合下列方程的x与y(x,y全属于R)的值:1)(1+2i)x+(3-10i) 数学 2020-08-02 …
关于三元一次方程的题1、已知x/2=y/3=z/4.,且x+y-z=1/12,求x,y,z2、已知 数学 2020-08-03 …
由下列各式:1>1/2,1+1/2+1/3>1有下列各式:1>1/2;1+1/2+1/3>1;1+1 数学 2020-10-30 …
计算,并写出过程.[1]1+7分之1-[-7分之3][2]2.5-4+[-2分之1][3]-3分之1 数学 2020-11-07 …
计算一道数学题,(1+1/2)×(1+1/3)×(1+1/4)×(1+1/5)×(1+1/6)×(1 数学 2020-11-30 …