#include <stdio.h> int n; i
#include <stdio.h>
int n;
int a[1000];
int f(int x)
{
int ret = 0;
for (; x; x &= x - 1) ret++;
return ret;
}
int g(int x)
{
return x & -x;
}
int main()
{
scanf("%d",&n);
for (int i = 0; i < n; i++) scanf("%d",&a[i]);
for (int i = 0; i < n; i++)
printf("%d",f(a[i])+g(a[i]));
printf("\n");
return 0;
}将源代码中g函数的定义(13-16行)移到main函数的后面,程序可以正常编译运行。
答案
B