| 网站首页 | 业界新闻 | 小组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 343 人关注过本帖
标题:这样写不对吗,求改正
只看楼主 加入收藏
冬青123
Rank: 1
等 级:新手上路
帖 子:37
专家分: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
等 级:版主
威 望:328
帖 子:6765
专家分:39201
注 册: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
等 级:版主
威 望:328
帖 子:6765
专家分:39201
注 册:2011-1-18
  得分:0 
补充一下,字节可未必是8bits,得用 CHAR_BIT 替代(定义于<limits.h>中)
2019-06-06 09:34
快速回复:这样写不对吗,求改正
数据加载中...
 
   



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

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