以下是引用吹水佬在2016-12-8 22:35:34的发言:
我的答案不符合题意,少了n<20条件,所以答案不对。
int a[20],s,i=0,j=0;
for(s=1;s=0&&s<=20;s++)
scanf("%d",&a[s]);
这里s==20时越界
换另一种算:
#include <stdio.h>
main()
{
int i=0, j=0, k, n=0;
int m=sizeof(k)*8-1;
while (++n<20)
{
scanf("%d", &k);
if (k==0)
break;
j += (k>>m)&1;
}
i = n-j-1;
printf(">0 %d\n<0 %d\n", i,j);
}
可是我的答案是i和j都等于0;
int m=sizeof(k)*8-1;这种函数使用还不会
;
break;
j += (k>>m)&1;
}
i = n-j-1;
大神,我有点看不懂