填空题 1.  请补充main()函数,该函数的功能是:把1~100的所有素数保存在数组arr中,然后输出这些素数并计算它们的和。
    注意:部分源程序如下。
    请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
    试题程序:
    #include<stdlib.h>
    #include<stdio.h>
    void main()
    {
    int i,j,k,flag,sum;
    int arr[50];
    sum=0;
    k=0;
    system("CLS");
    for(i=2;i<100;i++)
    {
    ______;
    for(j=2;j<i&&flag;j++)
    if(i%j==0)
    {
    ______;
    }
    if(flag)
    {
    sum+=i;
    ______;
    }
    }
    printf("\n***prime number***\n");
    for(i=0;i<k;i++)
    {
    if(i%10==0)
    printf("\n");
    printf("%4d",arr[i]);
    }
    printf("\nsum=%d",sum);
    }
  • 1、
【正确答案】 1、flag=1
   flag=0
   arr[k++]=i    
【答案解析】 由整个程序可知,变量flag是判断一个整数是否为素数的标志,flag=1为素数,flag=0为非素数,此处将其初始值赋值为1,因此,第1空处填“flag=1”;当判断出一个整数为非素数时,将flag赋值为0,因此,第2空处填“flag=0”;题目要求将所有素数放入数组arr中,因此,第3空处填“arr[k++]=i”。