博客
关于我
Problem 1011 进制间的转换
阅读量:798 次
发布时间:2023-04-02

本文共 1829 字,大约阅读时间需要 6 分钟。

给定N个整数,对于每个整数M,输出它的二进制、八进制和十六进制表示形式。二进制表示必须以'B'结尾,八进制表示必须以'0'开头,十六进制表示必须以'H'结尾。输出每种进制表示之间用空格分隔。

输入部分包含一个整数N(1 ≤ N ≤ 100),接下来的N行每行一个整数M(1 ≤ M ≤ 1,000,000)。

示例输入:1234

示例输出:11101010B0352eaH

实现方法:

  • 使用C语言编写一个函数fun,用于将给定的整数转换为指定进制的字符串。
  • 在主函数中,读取输入的整数N和每个整数M。
  • 对于每个M,分别调用fun函数生成二进制、八进制和十六进制字符串,并按照指定的格式输出。
  • 代码解释:

    • fun函数用于将整数m转换为指定进制的字符串。
    • 主函数main读取输入并循环处理每个整数m。
    • 对于二进制转换,调用fun函数并将结果字符串追加'B'。
    • 对于八进制转换,首先调用fun函数并在结果字符串前追加'0'。
    • 对于十六进制转换,调用fun函数并在结果字符串后追加'H'。

    代码实现:

    #include 
    char s[1000000];int s1[1000000];int fun(int n, int m) { int i = 0; if (m == 0) return 0; while (m) { s[i] = m % 10 + 48; m /= 10; i++; } return i;}int main() { int t, i, m, a, j, b; scanf("%d", &t); for (i = 0; i < t; i++) { scanf("%d", &m); // 二进制转换 a = fun(2, m); for (j = a - 1; j >= 0; j--) { printf("%c", s[j]); } printf("B "); // 八进制转换 a = fun(8, m); printf("0"); for (j = a - 1; j >= 0; j--) { printf("%c", s[j]); } printf(" "); // 十六进制转换 i = 0; while (m) { s1[i] = m % 16; m /= 16; i++; } for (j = i - 1; j >= 0; j--) { if (s1[j] < 10) { printf("%d", s1[j]); } else { switch (s1[j]) { case 10: printf("a"); break; case 11: printf("b"); break; case 12: printf("c"); break; case 13: printf("d"); break; case 14: printf("e"); break; case 15: printf("f"); break; } } } printf("H\n"); } return 0;}

    代码功能解释:

  • fun函数用于将整数转换为指定进制的字符串。
  • 主函数main读取输入并处理每个整数m。
  • 对于每个m,分别生成二进制、八进制和十六进制表示。
  • 转换结果按照指定格式输出,确保二进制以'B'结尾,八进制以'0'开头,十六进制以'H'结尾。
  • 转载地址:http://caefk.baihongyu.com/

    你可能感兴趣的文章
    OSPF理论
    查看>>
    OSPF的七种类型LSA
    查看>>
    OSPF的安全性考虑:全面解析与最佳实践
    查看>>
    OSPF知识点大全,网络工程师快速收藏!
    查看>>
    ospf综合实验2 2012/9/8
    查看>>
    OSPF规划两大模型:双塔奇兵、犬牙交错
    查看>>
    OSPF认证
    查看>>
    OSPF设计原则,命令以H3C为例
    查看>>
    ospf路由 华3_动态路由OSPF基本原理及配置,一分钟了解下
    查看>>
    OSPF路由协议配置
    查看>>
    OSPRay 开源项目教程
    查看>>
    VC++实现应用程序对插件的支持
    查看>>
    OSS 访问图片资源报“No ‘Access-Control-Allow-Origin‘”的错误
    查看>>
    ossfs常见配置错误
    查看>>
    Ossim4系统故障处理
    查看>>
    Spring赌上未来:响应式的 WebFlux 框架更优雅,性能更强!
    查看>>
    oss报UnknownHost,k8s设置hostAliases参数
    查看>>
    OSS报错The difference between the request time and the current time is too large
    查看>>
    OSS直传与UXCore-Uploader实践
    查看>>
    Spring详解Bean的生命周期
    查看>>