• 进制转换 HDU2031


    进制转换



    Problem Description
    输入一个十进制数N,将它转换成R进制数输出。
     

    Input
    输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
     

    Output
    为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
     

    Sample Input
    7 2 23 12 -4 3
     

    Sample Output
    111 1B -11

    开始在9那忘记加等于号,醉了,一直没找出来,无限WA,要严谨!仔细!

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    int main(){
        int arr[1000];
        int r,len,flag;
        long long a;
    
        while(cin>>a>>r){
                len=0;
                flag=0;
                if(a==0){
                    cout<<a;
                    }
            while(a!=0){
                  if(a<0){
                   a *= -1;;
                   flag=1;
                  }
    
                arr[len++]=a%r;
                a/=r;
        }
    
            for(int i = len-1;i>=0;i--){
                    if(flag){
                        cout<<"-";
                        flag=0;
                    }
                if(arr[i]<=9)
                    cout<<arr[i];
                else
                {
                    printf("%c",arr[i]-10+'A');
                }
            }
        cout<<endl;
        }
        return 0;
    }
    




  • 相关阅读:
    线性代数学习路线
    补充.关于秩的不等式
    第十讲.无关性、基与维数
    第九讲.Ax = b
    第八讲.Ax = 0
    大三下学期第一个月反思
    第六讲.LU分解
    第五讲.矩阵的逆
    第四讲.矩阵的运算
    NAT 实验
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256442.html
Copyright © 2020-2023  润新知