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

题目

请编写一个函数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()中应用“&&”运算符。
更多“请编写一个函数fun(),它的功能是:求出1到m(含m)之内能被7或11整除的所有整数放在数组a中,通过n返 ”相关问题