c语言由键盘给定一个正整数N,编程实现求该整数对应的二进制数中1的个数。在线等!
由键盘给定一个正整数N,编程实现求该整数对应的二进制数中1的个数。输入格式正整数N输出格式二进制数中1的个数输入样例14输出样例3...
由键盘给定一个正整数N,编程实现求该整数对应的二进制数中1的个数。
输入格式
正整数N
输出格式
二进制数中1的个数
输入样例
14
输出样例
3 展开
输入格式
正整数N
输出格式
二进制数中1的个数
输入样例
14
输出样例
3 展开
3个回答
展开全部
#include<stdlib.h>
#include<stdio.h>
int count1InNum(int num)
{
int result=0;
while(num!=0)
{
num &=(num-1);
result++;
}
return result;
}
//此方法如果num为负数,比如-7,则求的1的个数实际是7的二进制形式中1的个数
int count(int num)
{
int result=0;
while(num!=0)
{ if(num%2!=0) result++; num /= 2; }
return result;
}
int main()
{
int num;
scanf("%d",&num);
while(num!=0)
{ char s[33]; itoa(num, s, 2);
printf("The number of 1 in %d (%s) is %d.\n",num,s,count1InNum(num));
printf("The number of 1 in %d (%s) is %d.\n",num,s,count(num));
scanf("%d",&num); }
getchar();
return 0;
}
#include<stdio.h>
int count1InNum(int num)
{
int result=0;
while(num!=0)
{
num &=(num-1);
result++;
}
return result;
}
//此方法如果num为负数,比如-7,则求的1的个数实际是7的二进制形式中1的个数
int count(int num)
{
int result=0;
while(num!=0)
{ if(num%2!=0) result++; num /= 2; }
return result;
}
int main()
{
int num;
scanf("%d",&num);
while(num!=0)
{ char s[33]; itoa(num, s, 2);
printf("The number of 1 in %d (%s) is %d.\n",num,s,count1InNum(num));
printf("The number of 1 in %d (%s) is %d.\n",num,s,count(num));
scanf("%d",&num); }
getchar();
return 0;
}
展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,x;
char s[33];
scanf("%d", &n );
itoa( n, s, 2 );
x=0;
for( i=0;s[i];i++ )
if ( s[i]=='1' )
x++;
printf("%d\n", x );
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int i,count=0;
scanf("%d",&i);
do{
if((i%2)!=0)
{
count++;
}
i=i/2;
}while(i>=1);
printf("%d\n",count);
return 0;
}
int main()
{
int i,count=0;
scanf("%d",&i);
do{
if((i%2)!=0)
{
count++;
}
i=i/2;
}while(i>=1);
printf("%d\n",count);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询