填空题 1.  补充函数proc(),该函数的功能是:寻找两个整数之间的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。
    例如,输入10和20,则输出为“11 13 17 19”。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include<stdlib.h>
    #include<conio.h>
    #include<stdio.h>
    #define M 1000
    int proc(int n,int m,int bb[M])
    {
    int i,j,k=0,flag;
    for(j=n;j<=m;j++)
    {
    ______;
    for(i=2;i<j;i++)
    if(______)
    {
    flag=0;
    break;
    }
    if(______)
    bb[k++]=j;
    }
    return k;
    }
    void main()
    {
    int n=0,m=0,i,k;
    int bb[M];
    system("CLS");
    printf("Input n\n");
    scanf("%d",&n);
    printf("Input m\n");
    scanf("%d",&m);
    for(i=0;i<m-n;i++)
    bb[i]=0;
    k=proc(n,m,bb);
    for(i=0;i<k;i++)
    printf("%4d",bb[i]);
    }
  • 1、
【正确答案】 1、flag=1
   j%i==0
   flag==1    
【答案解析】 由函数proc()可知,变量flag为判断一个整数是否为素数的标志,如果一个整数不是素数,则将其flag标志赋值为0,其初始值应该为1,因此,第1空处填“flag=1”。判断一个整数是否为素数,应该判断其能否被大于1、小于其本身的整数整除。因此,第2空处填“j%i==0”。判断素数的标志flag,将每一个素数保存在数组bb中,因此,第3空处填“flag==1”。