Problem B: 阅读程序-模拟1

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:202 Solved:10

Description

1.

#include <cstdio>

#include <iostream>

using namespace std;

int n;

int a[100];

int main(){

   scanf("%d"&n);

    for(int i=0;i<n;i++) scanf("%d"&a[i]);

    int ans=1;

    for(int i=1;i<n;i++)

    {

      if(i > 1 && a[i] < a[i-1]) ans=i; //第12行

      while(ans < n && a[i] >=a[ans+1]) ++ans; //14行

      printf("%d "ans);  //第16行

    }

    return 0;

}

判断题

1)  第16行输出ans时,ans的值一定大于i。(           )

2)  程序输出的ans小于等于n。(        )

3)  若将第12行的“ < ”改为“!=”,程序输出的结果不会改变。(        )

4)  当程序执行到第16行时,若ans-i > 2,则a[i+1]<=a[i]。(          )


选择题

 1) 若输入a数组的n个数据全部为0,则输出为值为(     )

A) 全部为0      B) 全部为1     C)  为1至n     D) 全部为n


 2) 若输入3

          5

          2

          6

则输出为值为(     )

A) 5  2  6      B) 1  2  3      C) 1  3     D) 1  2


   

2.

#include <cstdio>

#include <iostream>

using namespace std;


int main()

{

       int nk=0s;

       scanf("%d"&n);

    for(int i=2; i*i<=n; i++)   //第6行

    {

           if(n%i==0)

           {

                   while(n%i==0)

                   {

                          k++;

                          if(k==1)  printf("%d"i);  //第13行

                          else  printf(" * %d"i); //第14行

                          n=n/i;

                     }

              }

       }

       if(n!=1)

       {

              k++;

              if(k==1)  printf("%d"n);  //第23行

           else  printf(" * %d"i);    //第24行

       }

       return 0;

}

判断题

1)  若n为0,则输出为值为0。(     )

2)  若n为1,则输出为值为1。(     )

3)  若将第13行的“k==1”改为“k>0”,程序输出的结果不会改变。(        )

4)  此程序是求n的k个质因数。(          )

选择题

 1) 若输入n为100,则第六行的循环变量i为(     )时退出循环。

A) 11      B) 10     C)  6     D)  7


 2) 若输入n为127,则此程序会在第(     )行输出结果。         

A) 13      B) 14      C) 23     D) 24





Sample Input Copy


Sample Output Copy