niusouti.com

请编写函数fun(),它的功能是:求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数并将它们放在 9所指的数组中,通过n返回这些数的个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>void fun(int *a,int *n){}main( ){int aa[1000],n,k;clrscr();fun(aa,an);for(k=0

题目

请编写函数fun(),它的功能是:求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数并将它们放在 9所指的数组中,通过n返回这些数的个数。

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

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

试题程序:

include <conio.h>

include <stdio.h>

void fun(int *a,int *n)

{

}

main( )

{

int aa[1000],n,k;

clrscr();

fun(aa,an);

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

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

{

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

printf("\n"); /*—行写10个数*/

}

else

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

}


相似考题
更多“请编写函数fun(),它的功能是:求出1到1000之内能被5或13整除、但不能同时被5和13整除的所有整数并 ”相关问题
  • 第1题:

    请编写函数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整除。这里就要用到多个条件的布尔运算。

  • 第2题:

    编写程序,计算出1000到5000之间能被3和7整除但不能被13整除的所有整数的和。


    【审题关键句】千位+百位等于十位+个位,且千位+百位等于个位-千位的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和。 【解题思路】 ①首先定义一个循环变量i,以及分别用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和 gw(个位)。 ②通过for循环依次对数组中的每个四位数进行分解,循环初值为l 000,终值为5000,每循环一次,循环变量i的值加1。每分解一个四位数,根据题目要求,判断其“千位+百位=十位+个位”的条件是否满足,同时判断“(千位+百位)=(个位-千位)*10”的条件是否满足,两个条件之间用运算符进行连接。当同时满足以上两个判断条件时,计数变量cnt的值加l,同时将该四位数累加到求和变量sum中,最终得到满足条件的四位自然数个数cnt及它们的和sum。 本题中cnt和sum变量在源程序中已经定义,在该子程序中就不需要再重新定义了。 【参考答案】

  • 第3题:

    【其它】任务一:实现整除判断游戏功能关键算法并绘制流程图(30 分) 整除判断游戏能显著提高小朋友的逻辑思维能力,问题要求如下: • 能同时被 3、5、7 整除 • 能同时被 3、5 整除 • 能同时被 3、7 整除 • 能同时被 5、7 整除 • 只能被 3、5、7 中的一个整除 • 不能被 3、5、7 任一个整除 输入一个整数,输出满足对应条件的结果。要求:使用分支结构语句实现。


    规则游戏

  • 第4题:

    下列程序的功能是单击窗体时在消息框中输出1000以内能同时被3、5和7整除的整数,请补充完整此程序:

    Private Sub Form_Click()

    sum=0

    For i=1 To 1000

    If______Then

    sum=sum+I

    End If

    Next I

    MsgBox sum

    End Sub


    正确答案:i Mod 3=0 And i Mod 5=0 And i Mod 7=0
    i Mod 3=0 And i Mod 5=0 And i Mod 7=0 解析: 本题考查VBA中书写条件表达式的知识。本题需要补充完整的空白处恰好就是这个程序的关键所在,也就是如何判断i能同时被3、5和7整除。判断整除我们一般使用两个数相除求余数,然后通过判断余数是否为0来实现。由于需要同时被3、5和7整除,所以3个判断的表达式之间应该是“与”的关系,最终结果为i Mod 3=0 And i Mod 5=0 And i Mod 7=0。

  • 第5题:

    输出[1,1000]内能被3整除而不能被7整除的数,并统计有多少个?


    #include<stdio.h> main() {int i,a; for(i-0;i<10;i++) {a=i*10+7;/*求个位为7的数*/ if(a%3==0)printf('%d\\n',a);/*判断其是否能被3整除*/ } }