zoukankan      html  css  js  c++  java
  • 十进制转二进制

    十进制转二进制的递归实现算法:

        

     1 #include <stdio.h>
     2 void dectobi(int a);
     3 
     4 int main()
     5 {
     6     int i;
     7     printf("please input a decimical number
    ");
     8     scanf("%d",&i);
     9     printf("the binary number is:");
    10     dectobi(i);
    11     return 0;
    12 }
    13 void dectobi(int a)
    14 {   
    15    int temp=a%2;
    16    if(0!=a/2)
    17          dectobi(a/2);
    18    printf("%d",temp);
    19 }

      实现依据:

             

    十进制转二进制非递归实现:

           思想:用数组存储每次取余的结果,a0~a15 (模拟二进制结果用两个字节来保存) 每次存储的时候是最低位存储,所以输出时应倒序输出。

            

     1 #include <stdio.h>
     2 
     3 int main(void)
     4 {
     5     int i,m,r,s;
     6     int result[16]={0};//初始化为0
     7     printf("please input a decimical number!
    ");
     8     scanf("%d",&i);
     9     for(m=0;m<15;m++)
    10         {
    11           r=i%2;
    12           s=i/2;
    13           i=s;
    14           result[m]=r;
    15         }
    16     for(m=15;m>=0;m--)
    17         {
    18          printf("%d",result[m]);
    19          if(m%4 == 0)
    20              printf(" ");
    21         }
    22         
    23 
    24     return 0;
    25 }

       

  • 相关阅读:
    poj2955(区间dp)
    poj3280(区间dp)
    poj1651(区间dp)
    hdu5001(概率dp)
    hdu4389(数位dp)
    hdu4352(数位dp)
    CF 148D(概率dp)
    zoj3329(概率dp)
    POJ1028 Web Navigation
    POJ1027 The Same Game
  • 原文地址:https://www.cnblogs.com/xiaoying1245970347/p/3702861.html
Copyright © 2011-2022 走看看