zoukankan      html  css  js  c++  java
  • 2031 HDOJ 进制转换

    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
     
    参考代码如下:需要说明的都已注释标出。
    
    

    /*进制转换*/

    
    

    #include<iostream>
    #include<algorithm>
    #include<string>
    using namespace std;
    int main()
    {
    int N,R;
    string a("0123456789ABCDEFG"); //妙招
    while(cin>>N>>R) //输入数字N,要转换到的进制R
    {
    string s="";
    bool flag=true;
    if(N<0) //若N为负,进行处理
    {
    flag=false;
    N=-N;
    }
    if(N==0)
    cout<<0<<endl;
    while(N>0)
    {
    s=s+a[N%R];
    N/=R;
    }

    reverse(s.begin(),s.end()); //将s逆序
    if(!flag)
    {
    s="-"+s;
    }
    cout<<s<<endl;
    }
    return 0;
    }

     

    这仅仅是十进制转换为其他进制的问题,后续还要做更加全面的完善。

    00:14:38 2019-09-16

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    -Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.chan
    failed to export application
    IOS InHouse 发布流程
    BoneCP学习笔记
    form表单, css1
    HTTP协议, HTML
    自定义ORM框架
    数据库5
    数据库4
    数据库3
  • 原文地址:https://www.cnblogs.com/ManbaDF99/p/11525225.html
Copyright © 2011-2022 走看看