niusouti.com

请编写函数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( );prin

题目

请编写函数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]);

}


相似考题
更多“请编写函数fun( ),其功能是:将所有大于1小于整数m的素数存入xx所指数组中,素数的个数通过k传回。 ”相关问题
  • 第1题:

    请编写一个函数void fun(int m, int k, int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入所指的数组中。

    例如,若输入17,5,则应输出19,23,29,3l,37。

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

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

    试题程序:

    include <conio.h>

    include <stdio.h>

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

    {

    }

    main()

    {

    int m,n, zz[1000];

    clrscr();

    printf("\nPlease enter two integers: ");

    scanf("%d%d",&m,&n);

    fun(m,n,zz);

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

    printf("%d ",zz[m]);

    printf("\n ");

    }


    正确答案:void fun(int m int k int xx[]) { int ijn; for (i=m+1n=0;nk;i++) /*找大于m的素数循环k次即找出紧靠m的k个素数*/ {for(j=2;ji;j++) /*判断一个数是否为素数如果不是跳出此循环判断下一个数*/ if(i%j==O) break; if(j>=i) /*如果是素数放入数组xx中*/ xx[n++]=i; } }
    void fun(int m, int k, int xx[]) { int i,j,n; for (i=m+1,n=0;nk;i++) /*找大于m的素数,循环k次,即找出紧靠m的k个素数*/ {for(j=2;ji;j++) /*判断一个数是否为素数,如果不是,跳出此循环,判断下一个数*/ if(i%j==O) break; if(j>=i) /*如果是素数,放入数组xx中*/ xx[n++]=i; } } 解析:本题只要掌握了判断素数的算法即不难完成了,其实程序缺少部分也正是这部分。

  • 第2题:

    数组xx[M]保存着一组3位数的无符号正整数,其元素的个数通过变量m传人函数proc()。请补充函数proc(),该函数的功能是:从数组xx中找出十位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。

    例如,当xx[8]={234 339 666 850 220 448 528 440)时,bb[5]={339 666 220 448 440}。

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

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

    试题程序:


    正确答案:


    【解析】要找出数组xx中十位和百位数字相等的所有整数,首先要得到数组中每一个整数的十位和百位数字,因此,【1】处填“(xx[i]/10)%10”;如果十位和百位数字相等,则将该整数放在数组bbee,因此,【2】处填“bb[n++]=xx[i]”;符合条件的整数个数放在变量n中,返回给主函数,因此,【3】处填“n”。

  • 第3题:

    使用函数计算素数个数并求和:输入两个正整数m和n(1<=m, n<=5000),统计并输出m和n之间的素数的个数以及这些素数的和。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数是返回1,否则返回0.


  • 第4题:

    程序test.c的功能是:将大于整数m且紧靠m的k个素数存入数组XX。请考生编写函数num(intm,intk,intxx[])实现程序的要求,最后调用函数readwriteDAT0把结果输出到0ut.dat文件中。 例如,若输入17,5,则应输出:19,23,29,31,37。


    正确答案:
    【审题关键句】将大于整数m且紧靠m的k个素数存入数组。
    【解题思路】
    ①首先定义一个计数变量cnt并赋初值为0。
    ②利用while循环统计大于整数m且紧靠m的k个素数,当计数变量cnt的值与变量k的值相等的时候,则退出while循环。每执行一次循环时,变量m的值加1,然后调用函数isP判断当前的m值是否为素数,如果是素数,则将m的值赋给数组xx[cnt],同时计算变量cnt的值加1,即当数组xx[0]中保存了一个素数之后,在T一次素数判断成立时将保存到xx[1]的位置上,依次类推。
    【参考答案】

  • 第5题:

    数组xx[M]保存着一组4位无符号整数,其元素的个数通过变量num传人函数proc()。请补充函数proc(),该函数的功能是:从数组XX中找出个位和百位上的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。

    例如,当xx[8]={1111 2413 2321 2222 4245 3333 14145335)时,yy[6]={1111 2222 3333 1414}。

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

    请勿改动main()函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。

    试题程序:


    正确答案:

    【1】xx[i]%101【2】yy[n++]=xx[i]【3】n
    【解析】要找出个位和百位上的数字相等的所有无符号整数,首先要得到数组xx中每一个元素的个位和百位数字,然后进行比较。因此,【1】处填xx[i]%10。当个位和百位相等时,把数组xx中的该元素放到数组yy中。因此,【2】处填yy[n++]=xx[i]。由函数proc()可知,数组yy的个数存放在变量n中,最后返回到主函数当中。因此,【3】处填n。