qq_36519547
qq_36519547
采纳率47.1%
2016-11-24 13:04

新人C语言问题求教!!!!!!!!!!

编写十进制数到二进制、八进制、十六进制间的转换程序。要求:键盘输入一个十进制的数,输出其对应的二进制、八进制、十六进制数。小数部分可以只输出8位以内

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • Runner__1 T_world 5年前
    //把x进制的数字转换成y进制的数字,s就是要转换的数字,返回的就是结果
    string transform(int x,int y,string s )
    {
        string res = "";
        int sum=0;
        for(int i=0;i<s.length();i++)
        {
            if(s[i] == '-')continue;
            if(s[i] >= '0' && s[i] <= '9')
            {
                sum = sum*x+s[i]-'0';
            }
            else
            {
                sum = sum*x+s[i]-'A'+10;
            }
        }
        while(sum)
        {
            char tmp = sum % y;
            sum /= y;
            if(tmp<=9)
            {
                tmp += '0';
            }
            else
            {
                tmp = tmp -10+'A';
            }
            res =tmp+res;
        }
        if(res.length() == 0)res = "0";
        if(s[0] == '-')res = '-' + res;
        return res;
    }
    
    点赞 评论 复制链接分享

相关推荐