7004 - 试题E:消除尾一 13'

通过次数

32

提交次数

97

时间限制 : 1 秒
内存限制 : 128 MB

【问题描述】

下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0

如果最后一位是0,则原数字保持不变。

如果采用代码中的测试数据,应该输出:

00000000000000000000000001100111   00000000000000000000000001100000

00000000000000000000000000001100   00000000000000000000000000001100

请仔细阅读程序,填写划线部分缺少的代码。

#include <stdio.h>

void f(int x)

{

        int i;

        for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);

        printf("   ");

        x = _______________________;  

        for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);

        printf("\n");    

}

int main()

{

        f(103);

        f(12);

        return 0;

}

【答案提交】

只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

输入

 

输出

 

样例

输入


                            

输出


                            

来源

第七届蓝桥杯大赛个人赛省赛(软件类)C/C++ 大学A组