您的位置:首页 > 其它

SDUT 1252 进制转换

2016-07-17 21:52 381 查看
点击打开题目链接

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: