为啥只有部分测试能过呢?这代码有什么逻辑上的漏洞吗?
/*16. 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。*/
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> hex >> n;
cout << dec << n;
return 0;
}
回答
看看题目怎么说,是不是不是输入一行输出一行,而是全部输入后再全部输出。
你可以把输入存入数组,统一输出
#include <iostream>using namespace std;
int main()
{
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;
}
以上是 为啥只有部分测试能过呢?这代码有什么逻辑上的漏洞吗? 的全部内容, 来源链接: utcz.com/a/42170.html