Online Judge PTA 二进制

二进制

描述

给定一个十进制的正整数n(0 < n < 1000),把这个十进制数转化为二进制数。

输入

有多组测试数据,每组测试数据输入只有一个正整数n。处理到文件结束(EOF)。

输出

对每组测试数,在单独的一行中输出对应的二进制数。

输入样例 1 

1
2
3

输出样例 1

1
10
11

提示

HINT 时间限制:200ms 内存限制:64MB

#include <cstdio>

void printBinary(int n) {
    // 特殊处理n为0的情况
    if (n == 0) {
        printf("0\n");
        return;
    }
    
    int binary[32]; // 存储转换后的二进制数
    int index = 0;

    // 将十进制转换为二进制
    while (n > 0) {
        binary[index++] = n % 2;
        n /= 2;
    }

    // 逆序输出二进制数
    for (int i = index - 1; i >= 0; i--) {
        printf("%d", binary[i]);
    }
    printf("\n");
}

int main() {
    int n;
    // 通过 while 循环处理多组输入,直到文件结束(EOF)
    while (scanf("%d", &n) != EOF) {
        printBinary(n);
    }
    return 0;
}
如有侵权,联系删除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flocx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值