数组用于进制转换

来源:互联网 发布:java api如何使用 编辑:程序博客网 时间:2024/05/22 03:27

编一个程序,其中调用函数void tran(int n, int d)用于将十进制数n转换为d进制数输出,并输出d进制数中最大位值是多少,在第几位。d的取值在2-32之间,数制d超过10时,依次用ABC...代表其基本符号,如对17进制而言,G代表其最大符号,对应十进制的16

#include <iostream>using namespace std;void tran(int, int);void ads(int );int i=0,t,ma=0,a[100];int main(){    int n,m;    cout<<"请输入要转换的数:";    cin>>n;    cout<<"请输入要转化的进制(2-32):";    cin>>m;    cout<<"将"<<n<<"转换为"<<m<<"进制为:";    tran(n,m);    cout<<endl;    for(i=t; i>=0; i--)    {        if(ma<=*(a+i))        {            ma=*(a+i);        }    }    cout<<"各位上的数最大为:";    ads(ma);    cout<<"出现在第";    for(i=t; i>=0; i--)    {        if(ma==*(a+i))        {            ads(t-i+1);        }    }    cout<<"为上";    return 0;}void tran(int n, int m){    int r;    if(n<m)    {        t=i;        *(a+i)=r=n;        ads(r);    }    else    {        *(a+i)=r=n%m;        i++;        tran(n/m,m);        ads(r);    }    return;}void ads(int r){    if(r<=9)    {        cout<<r;    }    else    {        cout<<char (r+55);    }}


0 0
原创粉丝点击