A-A+
请补充main函数 该函数的功能是:把1~100间的所有素数保存在数组aa中 然后输出这些素
问题详情
请补充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++)
{
【 】;
for (j=2; j<i&&flag; j++)
if (i%j==O)
{
【 】;
}
if (flag)
{
sum+=i;
【 】;
}
}
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=1flag=0aa[k+++]=i
flag=1flag=0aa[k+++]=i 解析:第一空:由后面的if句可以看出,当nag为1时,当前数是素数,所以此处先假设当前数为素数,即置flag为1,再进行判断,如果不是素数,则再将fflag清零。第二空:如果一个数能被除了1和其自身之外的数整除,即余数为0,则这个数不是素数。如果当前数不是素数,则将flag清零。第三空:如果当前数是素数,则将它保存在数组bb中。