#include <bits/stdc++.h>
using namespace std;
char _array[110];//数组模拟
int main()
{
int n, m;
while(cin >> n >> m)
{
int k = 0, tmp = n;
if(n == 0)
{
cout << '0' << endl;
continue;
}
if(n < 0)
{
cout << '-';
n = -n;
}
while(n)
{
if(n%m > 9)
{
_array[k++] = n%m -10+ 'A';
}
else
{
_array[k++] = n%m + '0';
}
n /= m;
}
for(int i = k-1; i >= 0; i--)
{
printf("%c", _array[i]);
}
cout << endl;
}
return 0;
}
2:
#include <bits/stdc++.h>
using namespace std;
int main()
{
stack<char>S;
char _char[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'A', 'B', 'C', 'D', 'E', 'F'};
int n, m;
while(cin >> n >> m)
{
if(n < 0)
{
cout << '-';
n = -n;
}
if(n == 0)
{
cout << '0' << endl;
continue;
}
while(n)
{
S.push(_char[n%m]);
n /= m;
}
while(!S.empty())
{
printf("%c", S.top());
S.pop();
}
cout << endl;
}
return 0;
}
SDUT 1252 进制转换
最新推荐文章于 2017-09-26 14:20:38 发布