栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言中进制转化

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言中进制转化

给定一个n 进制数 a,请你将它转换为 m 进制并输出。

特别的,令 A,B,C,…,Z 表示高进制下的 10∼35;

以下为代码:(自己编的可能有些麻烦)

#include
#include
#include
int main()
{
    char ch[100];
    char a[100];
    int n,m;
    long long b=0;
    scanf("%s%d%d",ch,&n,&m);
    int len=strlen(ch);
    int i;
    long long y[100];long long y1[100];
    for (int i3 = 0; i3 < 100; i3++)
    {     
         y[i3] = 1,y1[i3]=1;
    }
    
    for(i=0;i     {
        if(ch[i]>=48&&ch[i]<=57)
        {
            int i1;
            
            for(i1=0;i1             y[i]=y[i]*n;
        b+=(ch[i]-48)*y[i];
        
        }
        else  if(ch[i]>=65&&ch[i]<=90)
        {
            int i2;
            
            for(i2=0;i2             y1[i]=y1[i]*n;
        
        b+=(ch[i]-55)*y1[i];}
    }    
    int j=0;
    long long b1=b;
    while(b>0)
    {
        a[j]=b%m;

        b/=m;
        j++;   
    }

    int k=0;
    while(b1>0)
    {
    
        if(a[j-k-1]<10)
        printf("%c",a[j-k-1]+48);
        else if (a[j-k-1]>9)
        printf("%c",a[j-k-1]+55);
        b1/=m;
        k++;
    }
    
    
            
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291257.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号