作业帮 > 综合 > 作业

C语言 整数的补码中1的个数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 00:10:38
C语言 整数的补码中1的个数
#include<stdio.h>
int main()
{
\x09int n ;
\x09while( scanf("%d", &n ) )
\x09{
\x09\x09int i , sum = 0;
\x09\x09unsigned j=1;
\x09\x09for (i = 0; i < 32; i++)
\x09\x09{
\x09\x09\x09if ( n & j ) //用j去掩码n取相应的位上的值,如果不是0,则统计
\x09\x09\x09\x09sum ++ ;
\x09\x09\x09j<<=1 ; //左移,检查下一位
\x09\x09}
\x09\x09printf("%d\n", sum );
\x09}
\x09return 0;
}
再问: 提交上去显示Output Limit Exceed是怎么回事?是scanf()没有返回-1吗?
再答: while( scanf("%d", &n ) ) 这句改成:
while( scanf("%d", &n ) != EOF )