#1947: 一直NA...不知道哪里错...


mutou (木头)


大家可以帮我看看吗?我是先输入第一个人的数,然后在输入第二个人的数的时候,每一个输入都在第一个人的数中搜索,有相同计数器就加1,搜索是用二分搜索..

#include <stdio.h>
double a[1000000];
void common_number();
int binsearch(double num, long m);
int main()
{
 common_number();
 return 0;
}
void common_number()
{
 long n, m, i, count;
 double num;
 scanf("%ld%ld",&n,&m);
 while(n--)
 {
  count = 0;
  for(i = 0;i < m; i++)
   scanf("%lf",&a[i]);
  for(i = 0;i < m; i++)
  {
   scanf("%lf",&num);
   if(binsearch(num, m)) /*找到相同的,则计数器加1*/
    count++;
  }
  printf("%ld\n",count);
 }
}
int binsearch(double num, long m)/*二分查找*/
{
 long i = 0, j, mid;
 j = m-1;
 while(i <= j)
 {
  mid = (i + j)/2;
  if(a[mid] == num)
   return 1;
  if(a[mid] < num)
   i = mid + 1;  
  else
   j = mid - 1;
 }
 return 0;
}