标题:这样写不对吗,求改正
只看楼主
冬青123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-4-15
结帖率:90.91%
 问题点数:0 回复次数:2 
这样写不对吗,求改正
键盘输入一个整数,请编写一个程序,该程序给出一个字节中被置为1的位的个数,要求用十进制形式输入,输出数据后换行。#include <stdio.h>



int main(void)

{

    unsigned int x;

    int count = 0;

    int i;



    scanf("%d", &x);



    for (i = 0; i < 8; i++)

    {

        if ((x & 1) == 1)

        {

            count++;

        }

        x = x >> 1;

    }

    printf("%d\n", count);

    return 0;

}
搜索更多相关主题的帖子: 输入 int main unsigned count 
2019-06-05 18:16
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
我连题目都看不懂,“……一个整数,……给出一个字节中被置为1的位的个数”,比如输入 72623859790382856,它一共8个字节,你想获得哪个字节的1的数目?

看代码的话,
缺 #include <stdio.h>
scanf("%d", &x) 中 "%d" 需要改为 "%u"
2019-06-06 09:19
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
补充一下,字节可未必是8bits,得用 CHAR_BIT 替代(定义于<limits.h>中)
2019-06-06 09:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495111-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.231983 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved