问题 问答题

请编写一个函数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");} elseprintf("%4d",aa[k]); printf("\n"); }

答案

参考答案:

解析: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()中应用“&&”运算符。

问答题
不定项选择