zoukankan      html  css  js  c++  java
  • 进制转换 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;
    }
    




  • 相关阅读:
    GC(垃圾分代收集)
    排序算法总结
    Redis中的数据结构
    事务的隔离性(续篇)
    手写Spring mvc框架 (二)
    MySql日志与事务的隔离级别
    手写Spring mvc框架 (一)
    IO流
    随笔三(Ajax)
    关于博主noble_
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256442.html
Copyright © 2011-2022 走看看