#CS41015. 阅读程序10-数论15

阅读程序10-数论15

阅读程序

注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。

第10节:数论

第15题【NOIP】2009

#include <iostream>
using namespace std;
int main()
{
    int n,m,i,j,p,k;
    int a[100],b[100];
    cin >> n >> m;
    a[0]=n;i=0;p=0;k=0;
    do{
        for (j=0;j<i;j++)
            if (a[i]==a[j])
            {
                p=1;k=j;break;
            }
        if (p)break;
        b[i]=a[i]/m;
        a[i+1]=a[i]%m*10;
        i++;
    }while (a[i]!=0);
    cout << b[0] << ".";
21  for (j=1; j<k; j++)cout << b[j];
22  if (p)cout << "(";
23  for (j=k;j<i;j++)cout << b[j];
24  if (p)cout << ")";
25  cout << endl;
26  return 0;
}

●判断题

(1)输人的m可以为任意自然数

{{ select(15-1) }}

  • 正确
  • 错误

(2)输入-1 2,会输出-0.5

{{ select(15-2) }}

  • 正确
  • 错误

(3)输人1 2时,程序会输出0.(5)

{{ select(15-3) }}

  • 正确
  • 错误

(4)输入0 1时,程序会输出0。

{{ select(15-4) }}

  • 正确
  • 错误

●选择题

(5)输入5 13,输出为 ( )。

{{ select(15-5) }}

  • 0.(384615)
  • 0
  • 18
  • 8

(8)删去下列哪一行后,用(5)中的输人运行代码后输出结果发生改变?()

{{ select(15-6) }}

  • 25
  • 26
  • 21
  • 24