识别a类数与b类数,将1-1000的数转化为二进制后。若1的数量大于0,则为a类数,否则为b类数。最后输出a类数与b类数的数量

img

img


int judge(int n)
{
int t,a,b;
while(n!=0){
t=n%2;
n=n/2;
if(t==1)
a+=1;
else
b+=1;
}
if(a>b)
return (a>b);
}
#include<stdio.h>
main()
{
int i,a=0,b;
for(i=1;i<=1000;i++){
if(judge(i))
a+=1;
else
b+=1;
}
printf("%d %d",a,b);
}

代码粘一下
13行去掉试试先