问答题 请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 注意: 部分源程序存在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include #define M 100 void fun ( int m, int *a , int *n ) { } main( ) { int aa[M], n, k; fun ( 50, aa, &n ); for ( k = 0; k < n; k++ ) if((k+1) ==0) printf("/n"); else printf( "M", aa[k] ); printf("/n") ; NONO( ); }
【正确答案】#include #define M 100 void fun ( int m, int *a , int *n ) { int i ; *n=0 ; for(i=7 ; i<=m; i++) if((i % 7 == 0) || (i % 11 == 0)) a[(*n)++]=i ; }
【答案解析】解题思路: 本题是考察考生对某个数能被其他的数整除方式,并把符合条件的数存放在数组a中。 我们给出的程序是使用for循环语句以及取模的方式来解决这个问题的。