13893. 珅泽教育CSP-J第一轮模拟考第十九套 第 25 题

珅泽教育CSP-J第一轮模拟考第十九套 第 25 题

阅读程序第2题

阅读下面的程序,完成第22—28题。

int length(int x)
{
    int c = 0;
    while (x > 0) {
        c++;
        x /= 10;
    }
    return c;
}

int select(int n, int k)
{
    if (k > 0)
        return select(n/10, k-1);
    else
        return n % 10;
}

int solve(int k)
{
    int n = 1;
    while (k > length(n)) {
        k -= length(n);
        n++;
    }
    return select(n, length(n) - k);
}

solve(100) 执行完 while 循环后,在执行 select(n, length(n) - k) 时,n 的值是55( )。

{{ select(1) }}

  • 正确
  • 错误