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

题目

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

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

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

试题程序:

include <conio.h>

include <stdio.h>

void fun (int *a,int *n)

{

}

main()

{

int aa[1000], n, k;

clrscr();

fun(aa,&n);

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

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

printf("\n");} /*一行写9个数*/

else

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

}


相似考题
参考答案和解析
正确答案:void fun(int *a int *n) { int ij=0; for(i=1;i=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并放入数组a中*/ if((i%7==0||i%11==0)&&i%77!=0) a[j++]=i; *n=j; /*传回满足条件的数的个数*/ }
void fun(int *a, int *n) { int i,j=0; for(i=1;i=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a中*/ if((i%7==0||i%11==0)&&i%77!=0) a[j++]=i; *n=j; /*传回满足条件的数的个数*/ } 解析:注意本题题目应是找出能被7或11整除但不能同时被7和11整除的所有整数。能同时被7和11整除的整数一定能被77整除,且不能被77整除的数不一定就是能被7或11整除的数。所以可得出程序中的if()。按运算优先级可知 (i%7==0||i%11==0),注意,两边必须要有小括号。
更多“请编写函数fun(),它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并 ”相关问题
  • 第1题:

    计算1000以内所有不能被7整除的整数之和


    sum% 7 != 0

  • 第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题:

    输出[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整除*/ } }

  • 第4题:

    计算1000以内所有不能被7整除的整数之和。


    import random
    ls=[random.randint(1000,5000) for i in range(20)]
    ts=(2,3,5,7)
    l1=[0]*len(ls)
    for i in range(len(ls)):
    for t in ts:
    if ls[i] % t==0:
    l1[i]=1
    l2=[]
    for i in range(len(ls)):
    if l1[i]==0:
    l2.append(ls[i])
    print("生成的20个1000~5000的随机数是:")
    print(ls)
    print("其中不能被10以内素数整除的数是:")
    print(l2)

  • 第5题:

    下面程序的功能是计算并输出100以内能被4和7同时整除的所有整数,请填空。 Private Sub Form_Click() Dim i% For i = 28 To 100 If i Mod 4=0_____i Mod 7=0 Then Print i Next i End Sub


    0 n-1 0 , n-1 解析:Do While…Loop是先判断条件表达式的值是否为True,如果为True,则执行循环体,如果为False,则执行Loop后面的语句。由循环体可知该题的第1空应该填0。当循环条件不满足时跳出循环,此时的n是满足不等式1+22+32+42+…+n2>=m的最小的n,所以该题的第2空应该填n-1。