问题 填空题

请补充main函数,该函数的功能是:把1~100间的所有素数保存在数组aa中,然后输出这些素数并计算它们的和。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> main() { int n, i, j, k, flag, sum; int aa [50]; sum=O; k=O; clrscr (); for (i=2; i<100; i++) { 【1】; for (j=2; j<i&&flag; j++) if (i%j==O) { 【2】; } if (flag) { sum+=i; 【3】; } } printf("\n*** prime number ***\n"); for (i=0; i<k; i++) {if (i%10==0) printf ("\n");printf ("%4d", aa [i]); } printf ("\nsum=%d", sum); }

答案

参考答案:flag=1 (2)flag=0 (3)aa[k+++]=i

解析:填空1:由后面的if句可以看出,当nag为1时,当前数是素数,所以此处先假设当前数为素数,即置flag为1,再进行判断,如果不是素数,则再将fflag清零。填空2:如果一个数能被除了1和其自身之外的数整除,即余数为0,则这个数不是素数。如果当前数不是素数,则将flag清零。填空3:如果当前数是素数,则将它保存在数组bb中。

单项选择题 A1/A2型题
单项选择题