请编写一个函数int fun(int n),其中n为自然数。函数fun()的功能是求出自然数n(包括n)以内所有素数的和,并返回其值。注意;部分源程序已存在文件PROC11.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC11.cpp的内容如下://PROC11.cppinclude<iostream>using namespace std;int fun(int n);int main(){int number;cout<<"Enter the nu

题目

请编写一个函数int fun(int n),其中n为自然数。函数fun()的功能是求出自然数n(包括n)以内所有素数的和,并返回其值。

注意;部分源程序已存在文件PROC11.cpp中。

请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。

文件PROC11.cpp的内容如下:

//PROC11.cpp

include<iostream>

using namespace std;

int fun(int n);

int main()

{

int number;

cout<<"Enter the number which you want to caculate: \n";

cin>>number;

cout<<"The result is:"<<fun(number)<<end1;

return 0;

}

int fun(int n)

{

//* * * * * * * * *

}


相似考题
参考答案和解析
正确答案:
更多“请编写一个函数int fun(int n),其中n为自然数。函数fun()的功能是求出自然数n(包括n)以内所有素数 ”相关问题
  • 第1题:

    编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。

    例如:n为1000时,函数值应为s=96.979379。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include <conio.h>

    include <math.h>

    include

    double fun(int n)

    {

    }

    main()

    {

    clrscr();

    printf("s=%f\n",fun(1000));

    }


    正确答案:double fun(int n) {double s=0.0; int i; for(i=0;in;i++) /*从0~n中找到既能被5整除同时又能被11整除的数并将这些数求和*/ if(i%5==0&&i%11==0) s=s+i; s=sqrt(s); /*对s求平方根*/ return s;
    double fun(int n) {double s=0.0; int i; for(i=0;in;i++) /*从0~n中找到既能被5整除同时又能被11整除的数,并将这些数求和*/ if(i%5==0&&i%11==0) s=s+i; s=sqrt(s); /*对s求平方根*/ return s; 解析:本题的解题思路是逐个取得从。0-n之间的所有数,对每次取得的数进行条件判断,条件是既能被5整除同时又能被11整除,注意:这两个条件要求同时成立,因此用到了“&&”运算符。满足条件,该数就被累加到s中去,求出所有符合条件的数后,用sqrt()函数(包含于头文件math.h>中)对s求平方根。

  • 第2题:

    请编写函数fun( ),其功能是:将所有大于1小于整数m的素数存入xx所指数组中,素数的个数通过k传回。

    例如,输入25,则应输出2 3 5 7 11 13 17 19 23。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    void fun(int m,int *k,int xx[ ])

    {

    }

    main( )

    {

    int m,n,zz[100];

    clrscr( );

    printf("/nPlease enter an integer number between 10 and 100:");

    scanf("%d",&n);

    fun(n,&m,zz);

    printf("\n\nThere are%d prime numbers

    less than %d:",m,n);

    for(n=0;n<m;n++)

    printf("\n %4d",zz[n]);

    }


    正确答案:void fun(int mint *kint XX[]) { int ijtn=0; for(i=2;im;i++) /*找出大于1小于整数m的素数*/ { t=l; for(j=2;ji;j++) if(i%j==0) { t=0; break; } if(t==1) xx[n++]=i; } *k=n; /*返回素数的个数*/ }
    void fun(int m,int *k,int XX[]) { int i,j,t,n=0; for(i=2;im;i++) /*找出大于1小于整数m的素数*/ { t=l; for(j=2;ji;j++) if(i%j==0) { t=0; break; } if(t==1) xx[n++]=i; } *k=n; /*返回素数的个数*/ } 解析:这道题是考查一个数是不是素数,只要掌握了判断素数的方法,问题便能顺利解决,请以此题为例,掌握判断素数的方法。

  • 第3题:

    函数定义为Func(int *p),变量定义为n=100,则下面调用该函数正确的是?

    A.Fun(20)

    B.Fun(20+n)

    C.Fun(n)

    D.Fun(&n)


    B 本题考查的是指针函数。指针函数定义的基本格式为:类型说明符 函数名。其中,“类型说明符”表示返回的指针值所指向的数据类型。

  • 第4题:

    请编写一个函数fun(),它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

    例如,若传给m的值为50,则程序输出:

    7 11 14 21 X 28 33 35 42 44 49

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<conio.h>

    include<stdio.h>

    define M 100

    void fun(int m, int *a, int *n)

    {

    }

    main()

    {

    int aa[M],n,k;

    clrscr();

    fun(50,aa,&n);

    for(k=0;k<n; k++)

    if((k+1)%20==0) /*每行输出20个数*/

    {printf("%4d",aa[k]);

    printf("\n");

    }

    else

    printf("%4d",aa[k]);

    printf("\n");

    }


    正确答案:void fun(int mint *aint *n) { int ij=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) /*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/ a[j++]=i; *n=j; /*返回这些数的个数*/ }
    void fun(int m,int *a,int *n) { int i,j=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) /*求出1到m(含m)之内能被7或11整除的所有整数放在数组a中*/ a[j++]=i; *n=j; /*返回这些数的个数*/ } 解析:本题要找出能被7或11整除的所有整数,注意数学中的“或”和C语言中的“或”的区别,但在此处,if条件语句中用了“||”运算符,若要找能同时被7和11整除的所有整数则在if()中应用“&&”运算符。

  • 第5题:

    函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是( )。

    A.Fun(20);

    B.Fun(20+n);

    C.Fun(n);

    D.Fun(&n);


    正确答案:C
    C。【解析】本题考查函数的调用。当函数的参数是引用类型时,参数不能是常量、表达式和变量地址,只能是变量本身。