Problem A: [CSP-S1][程序阅读] 程序阅读1

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:55 Solved:9

Description

1.

#include<cstdio>

int main()

{  int i,j,s,sp,p;

  int a[11];

  sp=1; a[1]=2; j=2;

  while(sp<10)    //第6行

  {  j++; p=1;

     for(i=2; i<=j-1; i++)

         if(j%i==0) p=0;

      if(p)

       {

          sp++;     //第12行

         a[sp]=j; //第13行

       }

   }

   j=2; p=1;

  while(p)

  {  s=1;

     for(i=1; i<=j; i++) s=s*a[i];

     s++;

     for(i=2; i<=s-1; i++)

         if(s%i==0) p=0;  //第22行

     j++;  

  }

  printf("s=%d\n"s); //第25行

  return 0;

}


判断题(A. 正确  B. 错误)

1) 此程序前几步计算可知a[1]=2 a[2]=3….  那么a[sp]=a[sp-1]+1。 (     )

2) 若修改第6行为while(sp !=10) ,则此程序输出结果不会改变。(     )

3) 若删去12行的sp++ 更改第13行的语句为 a[++sp],程序输出的结果会改变。(       )

4) 第二个while循环终止后,j的值为6。(     )


选择题

5) 当while(sp<10)程序段执行完后,a数组中的最后一个数是(     )。

A) 9      B) 10      C)  19     D)  29


6) 此程序执行完后,第25行的printf("s=%d\n"s)输出结果为(     )。        

A) s=211      B) s=2311      C) s=3031     D) s=30031

Sample Input Copy


Sample Output Copy