填空题 补充函数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++)
{
1;
for(i=2;i<j;i++)
if( 2)
{
flag=0;
break;
}
if( 3)
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]);
}
【正确答案】
【答案解析】flag=1 j%i=-0 flag==1[解析] 由函数proc()可知,变量flag为判断一个整数是否为素数的标志,如果一个整数不是素数,则将其flag标志赋值为0,其初始值应该为1,因此,第一处填“flag=1”。判断一个整数是否为素数,应该判断其能否被大于1小于其本身的整数整除。因此,第二处填“j%i==0”。判断素数的标志flag,将每一个素数保存在数组bb中,因此,第三处填“flag==1”。