时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。

输入描述:
输入有多行。
每行包括两个正整数n和R,其中2≤R≤16。
输入直到文件结束为止。

输出描述:
对于每个用例,输出n对应的R进制形式。
超过10进制的数,10用A表示、11用B表示,依次类推。

输入例子:
1989 2
1119 16

输出例子:
11111000101
45F

#include<stdio.h>

int main(){
    int n,r,i = 0,j;
    int arr[100],num;
    while(scanf("%d%d",&n,&r)!=EOF){
        i = 0;
            while(n>=r){
               arr[i] = n%r;
                n = n/r;
                i++;
            }
            arr[i] = n;
            for(j = i;j>=0;j--){
                if(arr[j]<10)
                {
                    printf("%d",arr[j]);
            }
             else if(arr[j]==10){
                printf("A");
            }
            else if(arr[j]==11){
                printf("B");
            }
                        else if(arr[j]==12){
                printf("C");
            }            else if(arr[j]==13){
                printf("D");
            }
                        else if(arr[j]==14){
                printf("E");
            }
                        else if(arr[j]==15){
                printf("F");
            }   
    }
        printf("\n");
    }
    return 0;
}