日落773 2022-11-16 12:28 采纳率: 91.7%
浏览 12
已结题

C语言二进制转换问题

img


请问这道题目应该怎么做呀?我不太理解,123456789987654321(凑字数)

  • 写回答

1条回答 默认 最新

  • 浪客 2022-11-16 13:39
    关注
    
    int fun(int n)
    {
        int a = 0, b = 0;
        while (n)
        {
            if (n % 2 == 1)
                a++;
            else
                b++;
            n /= 2;
        }
        return a > b;
    }
    
    int main()
    {
        int k1, k2, nA = 0, nB = 0;
    
        scanf("%d%d", &k1, &k2);
        while (k1 <= k2)
        {
            if (fun(k1))
                nA++;
            else
                nB++;
    
            k1++;
        }
        printf("%d %d", nA, nB);
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月16日