#2983. [GESP202606 三级 C++] 第 15 题

[GESP202606 三级 C++] 第 15 题

现在有一个数,请你分别判断它们是否可能是二进制、八进制、十进制、十六进制。例如, 6AFF 就只可 能是十六进制,而 1011 则是四种进制皆有可能。输入 N (保证 1N10001 \le N \le 1000 ),表示有 N 个数让你进行判断, 接下来输入 N 个字符串(保证所有字符串长度不超过 10 ),判断可能是四个进制当中的哪个进制数。输出 N 行,每行 4 个数,用空格隔开,分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进 制数。使用 1 表示可能,使用 0 表示不可能。下面程序横线处可以满足这个要求的是( )。

#include <iostream>
using namespace std;
int main() {
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++) {
        char str[11];
        cin >> str;
        char max = '0';
        for (int i = 0; str[i] != '\0'; i++)
            if (str[i] > max)
                max = str[i];
        ___________________________________________
    }
    return 0;
}

A.

cout << (max >= '1') << " " << (max >= '7') << " " << (max >= '9') << " " << (max >= 'F') << endl;

B.

cout << (max <= '1') << " " << (max <= '7') << " " << (max <= '9') << " " << (max <= 'F') << endl;

C.

cout << (max = '1') << " " << (max = '7') << " " << (max = '9') << " " << (max = 'F') << endl;

D.

cout << (max < '1') << " " << (max < '7') << " " << (max < '9') << " " << (max < 'F') << endl;

{{ select(1) }}

  • A
  • B
  • C
  • D