问题 填空题

下列程序的运行结果是 【17】
#include <stdio.h>
#define M 100
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) a[j++]=i;
*n=j;

main()
int aa[M],n,k;
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0) printf("\n");
else printf("%4d",aa[k]);
printf("\n");

答案

参考答案:G

解析: 程序中的if(i%7==0||i%11==0)是找出能被7或11整除的所有整数, a[j++]=i是将满足条件的数放到a数组中,变量j记录了满足条件的数据个数,main函数通过变量n得到此数据个数。如果m的值为50,即表达式fun(10,aa,&n)为fun(50,aa,&n)时,输出结果为:
7 11 14 21 22 28 33 35 42 44 49

选择题
单项选择题 B型题