• 1112 进制数转换


    题目来源:
    https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1112
    Description
    输入一个十进制整数n,输出对应的二进制整数。常用的转换方法为“除2取余,倒序排列”。将一个十进制数除以2,得到余数和商,将得到的商再除以2,依次类推,直到商等于0为止,倒取除得的余数,即为所求的二进制数。例如,把52换算成二进制数的计算过程如下图:

    52除以2得到的余数依次为0,0,1,0,1,1,倒序排列,得到52对应的二进制数110100。
    用递归的思想来描述上述计算过程是这样的:输出n/2对应的二进制数,然后输入%2。递归函数的实现过程如下:
    void convert(int n)
    {
       if(n > 0)
       {
          调用自身,输出n/2对应的二进制数;
           输出n%2;
        }
    }
    试试吧!
    Input
    输入一个正整数n。
    Output
    输出n对应的二进制数。
    Sample Input
    52
    Sample Output
    110100
    题意描述:
    输入一个正整数n
    计算并输出n对应的二进制数
    解题思路:
    调用递归函数convert(n)计算n/2的结果,输出n%2,直到n<=0为止
    程序代码:

     1 #include<stdio.h>
     2 void convert(int n);
     3 int main()
     4 {
     5     int n;
     6     while(scanf("%d",&n) != EOF)
     7     {
     8         if(n==0)
     9         printf("0");
    10         else
    11         convert(n);
    12         
    13         printf("
    ");
    14     }
    15     return 0;
    16  } 
    17 void convert(int n)
    18 {
    19     if(n>0)
    20     {
    21         convert(n/2);
    22         printf("%d",n%2);
    23     }
    24 }

    错误分析:
    注意0的情况

  • 相关阅读:
    Intellij IDEA 配置Tomcat远程调试
    maven学习二(dependencies)
    maven学习一(HelloWorld工程)
    一致性hash在分布式系统中的应用
    理解TCP之Keepalive
    理解HTTP之keep-alive
    TCP/IP,http,socket,长连接,短连接
    图解 HTTP 协议
    PHP开发的一些趣事
    vue
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/6777668.html
Copyright © 2020-2023  润新知