热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_48401953
ijustwannatobe
5 年前
trueweixin_48401953

将十六进制转换成八进制,为什么我先把十六进制转换成十进制,在转换成八进制一直给我显示提交出现错误答案,望大佬教教我

#include<iostream>
using namespace std;
long long a[100000], b[10], c[10][100000];
int main() {
string str;
long long n, x , y;
long long sum, count, reminder; //要改成long long,因为数据可能过大
cin >> n;
for (int j = 0; j < n; j++) {
cin >> str;
sum = 0; count = 1; x = 0; y = 0;
for (int i = str.length() - 1; i >= 0; i--) {
if (str[i] >= '0' && str[i] <= '9') {
sum += count * (str[i] - '0');
count *= 16;
}
else if (str[i] >= 'A' && str[i] <= 'F') {
sum += count * (str[i] - 'A' + 10);
count *= 16;
}
}
if (sum != 0) {
while (sum != 0)
{
reminder = sum % 8;
sum = sum / 8;
a[x++] = reminder;
}
for (x = x - 1; x >= 0; x--) {
c[j][y++] = a[x];
}
}
else {
c[j][y++] = 0;
}
b[j] = y - 1;
}
for (int j = 0; j < n; j++) {
for (int i = 0; i <= b[j]; i++) {
cout << c[j][i];
}
cout << endl;
}
return 0;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
为什么这个提交上去显示运行错误啊?大佬帮忙看看
立即登录