📜  C测验– 107 |问题5(1)

📅  最后修改于: 2023-12-03 15:00:12.657000             🧑  作者: Mango

C测验-107 | 问题5

简介

C测验-107是一道关于C语言基础知识的练习题,问题5要求我们编写一个程序,以二进制形式打印出输入的整数值。

实现

以下是实现该功能所需要的C语言代码:

#include <stdio.h>

void print_binary(int num) {
    int digits[32]; // 建立一个数组来存储各个位上的数字
    
    // 将十进制数转换为二进制数
    int i = 0;
    while (num > 0) {
        digits[i] = num % 2;
        num = num / 2;
        i++;
    }
    
    // 输出二进制数
    for (int j = i - 1; j >= 0; j--) {
        printf("%d", digits[j]);
    }
    printf("\n");
}

int main() {
    int num;
    printf("请输入一个整数:");
    scanf("%d", &num);
    printf("该整数的二进制形式为:");
    print_binary(num);
    return 0;
}
解释

该程序主要分为两个部分:将十进制数转换为二进制数和输出二进制数。

将十进制数转换为二进制数的过程如下:

  1. 建立一个数组来存储各个位上的数字。
  2. 不断取当前数的二进制最后一位并存储下来,然后将当前数除以2。
  3. 重复第2步,直到当前数为0为止。

输出二进制数则是简单地遍历上一步得到的数组,从高位到低位输出即可。

结论

本文介绍了如何通过C语言将输入的整数值以二进制形式打印出来,通过实现程序可以更深入地理解二进制数的表示方法,也可以帮助程序员加深对C语言基本知识的理解。