1335.cpp

来自「杭电 acm部分代码 有兴趣的可以下载 谢谢」· C++ 代码 · 共 64 行

CPP
64
字号
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
char num[100];
int result[10];
int a, b;
int main()
{
	int i, sum;
	while (cin >> num >> a >> b)
	{
		sum = 0;
		memset(result, 0, sizeof(result));
		int len = strlen(num);
		for (i = 0; i < len; i++)
		{
			if (num[i] <= '9')
			{
				sum = sum * a + num[i] - '0';
			}
			else if (num[i] > '9')
			{
				sum = sum * a + num[i] - 'A' + 10;
			}
		}
		i = 0;
		while (sum)
		{
			result[i++] = sum % b;
			sum /= b;
			if (i == 8)
			{
				break;
			}
		}
		if (i > 7)
		{
			cout << "  ERROR" << endl;
			continue;
		}
		i = 6;
		while (result[i--] == 0)
		{
			cout << " ";
		}
		i++;
		while (i >= 0)
		{
			if (result[i] < 10)
			{
				cout << result[i];
			}
			else
			{
				char c = result[i] - 10 + 'A';
				cout << c;
			}
			i--;
		}
		cout << endl;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?