活动设计题  
    请编写一个函数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<stdio.h>
    #define M 100
    void fun(int m, int *a, int *n)
    {     }
    main()
    { int aa[M], n, k;
    void NONO();
    fun(50, aa, &n);
    for(k=0; k<n; k++)
    if((k+1)%20==0)printf('\n');
    else printf('%4d', aa[k]);
    printf('\n');
    NONO();
    }
    void NONO()
    {/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。  */
    FILE *fp, *wf;
    int i, n, j, k, aa[M], sum;
    fp=fopen('in.dat', 'r');
    wf=fopen('out.dat', 'w');
    for(i=0; i<10; i++) {
    fscanf(fp, '%d,', &j);
    fun(j, aa, &n);
    sum=0;
    for(k=0; k<n; k++) sum+=aa[k];
    fprintf(wf, '%d\n', sum);
    }
    fclose(fp);
    fclose(wf);
    }
 
【正确答案】int i, j=0; *n=0; for(i=1; i<=m; i++) if(i%7==0 ||i%11==0) { a[j]=i; j++; } *n=j; 答案考生文件夹
【答案解析】该题是求某范围内能被7或11整除的数。该程序的解题思路可以分解为以下几步:判断是否被7整除→判断或者是否被11整除→按要求返回计算结果。 [考点] for循环结构。