十进制转二进制(c语言基础训练)

/***************************
十进制转化二进制
除二取余法
****************************/
#include<stdio.h>
/*编写一个函数zhuan 将十进制a转换为二进制并打印到屏幕上*/
void zhuan(int a ){
    int i = 0 , stack[20] ,r ,s;   //简化程序 栈结构用数组代替
    do{
        r = a/2;    //商
        s = a%2;    //余数
        stack[i] = s;
        if(r!=0)
        {
            i++;
            a = r;  //a整除2的结果作为下一个整除2的对象
        }
    }while(r);
    for( ; i>=0 ; i--)
        printf("%d" , stack[i]);    //反向打印数组中的数
    printf("\n");
}
int main()
{
    int a;
    printf("输入一个十进制数:");
    scanf("%d", &a);
    zhuan(a);
    return 0;
}

    原文作者:进制转换
    原文地址: https://blog.csdn.net/qq_38663663/article/details/80096526
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞