NeQrhk 2015-07-16 23:03 采纳率: 30.6%
浏览 2223

一个c语言的简单acm问题,求两个二进制数有多少位不同,输入的是十进制数.

include
int main()
{
int n,p=0,k,m,t;
int a[50];
int b[50];
int c[50];
int d[50];
int i=0,j,u,z,w,q,e,s;
int r;
int count=0;
scanf("%d",&r);
while(r--){
scanf("%d%d",&n,&m);
while(n>0)
{
j=n%2;
n=n/2;
a[i++]=j;
}
while(m>0)
{
k=m%2;
m=m/2;
b[p++]=k;
}
if(i>p){
for(q=i-1,u=0;q>=0;q--,u++)
c[q]=a[u];
for(z=p+(i-p)-1,u=0;z>=i-p;u++,z--)//先从右往左填充d数组,前面留下的空位置置0
d[z]=b[u];
for(e=0;e d[e]=0;
for(w=0;w if(c[w]!=d[w])
count++;
}
else if(i

{
for(q=p-1,u=0;q>=0;q--,u++)
c[q]=b[u];
for(z=i+(p-i)-1,u=0;z>=p-i;u++,z--)//同上
d[z]=a[u];
for(e=0;e<p-i;e++)
d[e]=0;
for(w=0;w<p;w++)
if(c[w]!=d[w])
count++;
}
else{
for(q=0;q<i;q++)
if(a[q]!=b[q])
count++;
}
printf("%d",count);
}
return 0;
}

http://swun.openjudge.cn/practice/1009/题目在这里
我的代码出来结果一样怎么会没办法AC

  • 写回答

6条回答

  • leizhang250 2015-07-17 00:12
    关注

    看看。最后一句没明白啊?

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog