题解 | #数制转换# c纯模拟

数制转换

https://www.nowcoder.com/practice/8ef02ef8571b417d8c311a87861f7a03

#include <stdio.h>

int main() {
    int a, b;
    char n[100];
    char charac[16]={"0123456789ABCDEF"};
    while (scanf("%d %s %d", &a,n, &b) != EOF) { // 注意 while 处理多个 case
       char ans[100];
       long long num=0;
       for(int i=0;n[i]!='\0';i++)
       {
            if(n[i]<='z'&&n[i]>='a')
            num=num*a+n[i]-'a'+10;
            else if(n[i]<='Z'&&n[i]>='A')
            num=num*a+n[i]-'A'+10;
            else
            num=num*a+n[i]-'0';
       }
       //printf("num=%d\n",num);
       int i=0;
       while(num)
       {
            ans[i++]=charac[num%b];
            num=num/b;
       }
       //printf("i=%d\n",i);
       i--;
       for(;i>=0;i--)
       printf("%c",ans[i]);
       printf("\n");
    }
    return 0;
}

全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务