zoukankan      html  css  js  c++  java
  • 【C】进制转换器

    #include <stdio.h>
    int power(int,int);
    int scale_first(int,int);
    int scale_double(int,int);
    int scale_all(int,int,int);
    int main()
    {
    //给定一个 M 进制的数 x,实现对 x 向任意的一个非 M 进制的数的转换
    int num,pow,answer; //数字,幂数,答案
    int scale1,scale2; //被转数值进制和目的数值进制
    int num1; //被转数值和目的数值
    printf(" 进制转换器 ");
    printf("格式是:被转换数字 被转数字的进制 目的进制 ");
    printf("请输入以上格式(数字 进制 进制):");
    scanf("%d%d%d",&num1,&scale1,&scale2);
    answer = scale_all(num1,scale1,scale2);
    printf("%d",answer);

    }

    int power(int num,int pow)
    {
    int answer=1;
    if(pow==0)
    {
    return answer;
    }
    answer=num*power(num,pow-1);

    }
    int scale_first(int num,int sca) //sca是被转换数值的进制 ,num是被转换数值
    {
    int answer=1;
    int digit=0;
    int dec=0;
    while(num!=0)
    {
    dec += num%10 * power(sca,digit);
    digit++;
    num/=10;
    }
    return dec;

    }
    int scale_double(int num,int sca) //sca是目的数值的进制,num是被转换数值
    {
    int answer=0;
    int i=0;
    int consult=1;
    while(consult!=0)
    {
    answer += num%sca * power(10,i);
    consult = num/sca;
    num/=sca;
    i++;
    }
    return answer;
    }
    int scale_all(int num1,int sca1,int sca2) //num1是被转换数值,sca1是被转换进制,sca2是目的进制
    {
    int dec;
    int aim;
    dec = scale_first(num1,sca1);
    aim = scale_double(dec,sca2);
    return aim;
    }

    充满金属光泽的脑袋持有者,怎么会因为害怕而放弃挣扎。----------------------------------------------------------------------------------------------------------------------------------------------------------------------- 让暴风雨来的更猛烈些吧!猛烈到撕裂我的灵魂!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 看看吧,暴风雨...你输了!---------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    vim内外部鼠标复制 粘贴
    nginx 问题解决nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
    Installation of the latest version of netease-cloud-music on Fedora 30 linux platform
    Linux就该这么学11学习笔记
    Linux就该这么学10学习笔记
    css day2
    Linux就该这么学09学习笔记
    Linux就该这么学08学习笔记
    css day1
    Linux就该这么学07学习笔记
  • 原文地址:https://www.cnblogs.com/naraka/p/7885526.html
Copyright © 2011-2022 走看看