问答题 请编写一个函数proc(),它的功能是:求出1~m(含m)能被7或11整除的所有整数并将其放在数组a中,通过n返回这些数的个数。
例如,若传给m的值为70,则程序输出:
7 11 14 21 22 28 33 35 42 44 49 55 56 63 66 70
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#define N 100
void proc(int m, int*a, int*n)
{

}
void main()
{
int arr[N], n, k;
system("CLS");
proc(70, art, &, n);
for(k=0; k<n; k++)
if((k+1)%20==0)//每行输出20个数
{printf("%4d", arr[k]);
printf("/n");
}
else
printf("%4d", arr[k]);
printf("/n");
}
【正确答案】
【答案解析】void proc(int m, int*a, int*n)
{
int i, j=0;
for(i=1; i<=m; i++) //进行m次循环
if(i%7==0||i%11==0) //能被7或11整除的所有整数
a[j++]=i; //符合条件的数放在数组a中
*n=j; //返回这些数的个数
} [解析] 本题需要先判断1~m中每一个整数能否被7或11整除,然后将符合条件的整数放在数组a中,最后将符合条件的数的个数通过形参n返回主函数。