问题
填空题
请补充main函数。该函数的功能是:求1~100(不包括100)以内所有素数的平均值。 程序运行后的结果为42.40。 注意:部分源程序给出如下. 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> main() { int i, j, n=0,flag; float aver=0; clrscr(); for(j=2;j<100;i++) {flag=1;for(i=2;i<j;i++) if( 【1】 ) {flag=0;break; }if( 【2】 ){ n++; aver+=j;} } printf("\n\n average=%4.2f", 【3】 ); }
答案
参考答案:[1] j%i==0 [2]flag==1 [3]aver/n
解析: 填空1:如果一个数能被除了1和其自身之外的数整除,即余数为0,则这个数不是素数,将标记flag置0。填空2: flag用来标记当前数是否为素数,当flag为0时表示非素数,当flag为1时表示素数。所以此空,如果flag为1,说明当前数是素数,则将这个数累加到aver中。填空3:变量n记录100以内所有素数的个数,变量aver保存这些素数的总和,所以平均值等于总和除以个数。