题解 | #二进制数#

二进制数

https://www.nowcoder.com/practice/103dd589fed14457a673c613d8de3841

#include <stdio.h>
void fun(int n);
int main() {
    int a, b;
    while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to
        fun(a);
    }
    return 0;
}

void fun(int n) {
    int x, t = n, cnt = 0;
    while (t > 0) {
        x = t % 2;
        t /= 2;
        cnt++;
    }
    int s[cnt];
    int i = 0;
    t = n;
    while (t > 0) {
        s[i++] = t % 2;
        t /= 2;
    }
    for (i = 0; i < cnt; i++) {
        printf("%d", s[cnt - i - 1]);
    }
    printf("\n");
}

全部评论

相关推荐

05-12 17:28
已编辑
门头沟学院 硬件开发
点赞 评论 收藏
分享
风的叶脉:不知道但我想要鞭打你( '-' )ノ)`-' ) 加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务