1012-进制转换

描述

 

将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。

输入

 

多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。

输出

 

多行。每行给出转换后的R进制数。

样例输入

3

7 2

23 12

-4 3

样例输出

111

1B

-11

#include <iostream>
#include <string>
#define N 17
using namespace std;
int main()
{
    int m,n,r;
    int a[N]={0};
    scanf("%d",&m);
    for(int j=0;j<m;j++)
    {
        int i=0;
        scanf("%d %d",&n,&r);
        if(n==0)
            printf("0");
        else if(n<0)
        {
            n=-n;
            printf("-");
        }
        while(n)
            {
            a[i]=n%r;
            n=n/r;
            i++;
            }
            i--;
            for(;i>=0;i--)
            {
            if(a[i]>9)
                printf("%c",a[i]+55);
            else
                printf("%d",a[i]);    
        }
            printf("
");
    }    
    return 0;
}

  

原文地址:https://www.cnblogs.com/Rosanna/p/3436498.html