建设网站的工作步骤是,wordpress授权登录,桂林市区地图,vscode网页制作教程第34套#xff1a;
用筛选法可得到2#xff5e;n#xff08;n10000#xff09;之间的所有素数#xff0c;方法是#xff1a;首先从素数2开始#xff0c;将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0)#xff1b;接着从数 表中找下一个非0数#xff…第34套
用筛选法可得到2nn10000之间的所有素数方法是首先从素数2开始将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0)接着从数 表中找下一个非0数并从数表中删去该数的所有倍数依此类推,直到所找的下一个数等于n为止。这样会得到一个序列 23571113171923…… 函数fun用筛选法找出所有小于等于n的素数并统计素数的个数作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
int fun(int n)
{ int a[10000], i,j, count0;
for (i2; in; i) a[i] i;
i 2;
while (in) {
for (ja[i]*2; jn; j___1___)
a[j] 0;
i;
while (___2___0)
i;
}
printf(\nThe prime number between 2 to %d\n, n);
for (i2; in; i)
if (a[i]!___3___)
{ count; printf( count%15?%5d:\n%5d,a[i]); }
return count;
}
main()
{ int n20, r;
r fun(n);
printf(\nThe number of prime is : %d\n, r);
} 解题思路 第一处所有2的倍数的数从数表中删去所以应填a[i]。 第二处找出下一个不是的a[i]所以应填a[i]。 第三处输出素数只要判断a[i]不是0就是素数所以应填0。 给定程序MODI1.C中函数fun的功能是: 为一个偶数寻找两个素数, 这两个素数之和等于该偶数并将这两个素数通过形参指针传回主函数。 请改正函数fun中指定部位的错误, 使它能得出正确的结果。 注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序
#include stdio.h
#include math.h
void fun(int a,int *b,int *c)
{ int i,j,d,y;
for(i3;ia/2;ii2) {
Y1;
for(j2;jsqrt((double)i);j)
if(i%j0) y0;
if(y1) {
da-i;
for(j2;jsqrt((double)d);j)
if(d%j0) y0;
if(y1)
{ *bi; *cd; }
}
}
}
main()
{ int a,b,c;
do
{ printf(\nInput a: ); scanf(%d,a); }
while(a%2);
fun(a,b,c);
printf(\n\n%d %d %d\n,a,b,c);
} 解题思路 第一处变量y错写成Y。 第二处给变量d进行赋值所以应改为da-i;。 请编写函数fun, 它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入20后, 输出为: s0.583333。 注意: 要求n的值不大于100。 部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
double fun(int n)
{
}
main()
{ int n; double s;
printf(\nInput n: ); scanf(%d,n);
sfun(n);
printf(\n\ns%f\n,s);
NONO();
} 解题思路 本题是计算n(包括n)以内能被5或9整除的所有自然数的倒数之和。 参考答案
double fun(int n)
{
int i;
double sum0.0;
for(i1; in; i)
if(i%5 0 || i%9 0) /* 被5或9整除 */
sum1.0/i;
return sum;
}