填空题 1.  请补充函数proc(),该函数的功能是:求200(不包括200)以内能被2或5整除,但不能同时被2和5整除的自然数。结果保存在数组bb中,函数proc()返回数组bb中的元素。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include<stdlib.h>
    #include<stdio.h>
    #define M 200
    int proc(int bb[])
    {
    int i,j;
    for(______; i<200; i++)
    if((i%2!=0&&i%5==0)||(i%2==0&&i%5!=0))
    ______;
    ______;
    }
    void main()
    {
    int i,n;
    int bb[M];
    system("CLS");
    n=proc(bb);
    for(i=0; i<n; i++)
    { 
    if(i%10==0)
    printf("\n");
    printf(”%4d",bb[i]);
    }
    }
  • 1、
【正确答案】 1、i=1,j=0
   bb[j++]=i
   return j    
【答案解析】 由函数proc()可知,变量i和j用来判断能被2或5整除,但不能同时被2和5整除的自然数的个数,其初始化分别为1和0,因此,空一处填“i=1,j=0”;每一个符合条件的自然数放在数组bb中,因此,空二处填“bb[j++]=i”;题目中要求符合条件的自然数的个数要返回给主函数,因此,空三处填“return j”。