为啥只有部分测试能过呢?这代码有什么逻辑上的漏洞吗?

为啥只有部分测试能过呢?这代码有什么逻辑上的漏洞吗?

/*16.  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。*/
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> hex & [ % `gt;> n;
cout << dec <<t T & D 2 D P; n;
return 0;
}

回答

看看题目怎么说,是不是不是输入一行输出一行,而是全部输入后再全部输出
你可以{ D J ! $ W y ] f输入存入数组,统一输出

#ino B v - S , Sclude <iostream>
using names/ G B T Q Kpace std;
int main()
{z | L k  L E v E
    int n;
        int * arr = new int[n];
        for (int i = 0; i < n; i++)
    cin >> hex >> arr[i];
        for (int i = 0; i < n; i++)
    cout << dec << arr[i];
    return 0;
}