niusouti.com

编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include<conio.h>include<stdio.h>define MAX 100int fun(int lim, int se[MAX]){}main(){int limit,i,sum;int aa[MAX]

题目

编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。

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

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

试题程序:

include<conio.h>

include<stdio.h>

define MAX 100

int fun(int lim, int se[MAX])

{

}

main()

{

int limit,i,sum;

int aa[MAX];

clrscr();

printf("输入一个整数");

scanf("%d",&limit);

sum=fun(limit,aa);

for(i=0;i<sum;i++)

{

if(i%10==0&&i!=0) /*每行输出10个数*/

printf("\n");

printf("%5d ",aa[i]);

}

}


相似考题
更多“编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数 ”相关问题
  • 第1题:

    在下列函数原型中,可以作为类AA构造函数的是

    A.void AA(int);

    B.int AA();

    C.AA(int)const;

    D.AA(int);


    正确答案:D
    解析:构造函数不能标以返回类型,即使void也不行。它的返回值类型是隐含的,是指向类本身的指针。

  • 第2题:

    请编写函数void countValue(int *a,int *n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数并存放在数组a中,并通过n返回这些数的个数。

    注意:部分源程序已给出。

    请勿改动主函数main()和写函数writeDAT()的内容。

    试题程序:

    include<conio.h>

    include<stdio.h>

    void countValue(int *a, int *n)

    {

    }

    main ( )

    {

    int aa[1000],n, k;

    clrscr();

    countValue (aa, &n);

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

    if((k+1) %10 ==0)

    {

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

    printf("\n");

    }

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

    writeDAT();

    }

    writeDAT ( )

    {

    int aa[1000],n, k;

    FILE *fp;

    fp=fopen("out79.dat","w");

    countValue(aa,&n);

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

    if((k+1)%10==0)

    {

    fprintf(fp,"%5d",aa[k]);

    fprintf(fp,"\n");

    }

    else fprintf (fp,"%5d",aa[k]);

    fclose(fp);

    }


    正确答案:void countValue(int *a int *n) { int i; *n=0; for(i=1;i=1000;i++) if(i%7==0 && i%11) /*将能被7整除但不能被11整除的数存入数组a中*/ { *a=i; *n-*n+1; /*统计个数*/ a++; } else if (i%7 && i%11==0) /*将能被11整除但不能被7整除的数存入数组a中*/ { *a=i; *n=*n+1; /*统计个数*/ a++; } }
    void countValue(int *a, int *n) { int i; *n=0; for(i=1;i=1000;i++) if(i%7==0 && i%11) /*将能被7整除但不能被11整除的数存入数组a中*/ { *a=i; *n-*n+1; /*统计个数*/ a++; } else if (i%7 && i%11==0) /*将能被11整除但不能被7整除的数存入数组a中*/ { *a=i; *n=*n+1; /*统计个数*/ a++; } } 解析:本题考查的知识点如下:
    (1)指针的使用。
    (2)“%”运算符。
    (3)判断结构中多个条件的布尔运算。
    本题中,函数countValue()以指针为参数,这里就要涉及到指针的使用。a是指向数组的指针,初始时,指向数组的第一个元素。地址每加1时,依次指向后面的元素。一个数a若能被b整除,则a除以b取余得数为0。能被7或11整除,但不能被7和11同时整除,则有两种情况,能被7整除但不能被11整除,能被11整除但不能被7整除。这里就要用到多个条件的布尔运算。

  • 第3题:

    在下列函数原型中,可以作为类AA的构造函数的是 。

    A.void AA(int);

    B.int AA();

    C.~AA(int);

    D.AA(int);


    D 解析:如果作为类AA构造函数不能有返回值,排除答案A、B,而且不能是常函数,所以选择D。

  • 第4题:

    在下列函数原型中,可以作为类AA构造函数的是

    A.void AA(int);

    B.int AA( );

    C.AA(int)eonst;

    D.AA(int);


    正确答案:D
    解析:类的构造函数不能有返回值,也不能定义为返回空函数,或者用const修饰定义为常函数。

  • 第5题:

    请编写一个函数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()中应用“&&”运算符。