我的答案:
#include<stdio.h>
int eq_count(int a[],int la,int b[],int lb);
int main()
{
int f[] = {1,3,4,7,9};
int g[] = {3,5,7,8,10};
printf("The eqs has %d pair(s).\n",eq_count(f,sizeof(f) / sizeof(f[0]),g,sizeof(g) / sizeof(g[0])));
return 0;
}
int eq_count(int a[],int la,int b[],int lb)
{
int i,j;
int count = 0;
i = j = 0;
while(i < la && j < lb)
{
if(a[i] < b[j])
i++;
else if(a[i] > b[j])
j++;
else
{
count++;
i++;
j++;
}
}
return count;
}
标准答案:
int concindence_count(int f[],int g[],int m,int n)
{
int index_f,index_g;
int count;
count = index_f = index_g = 0;
while(index_f < m && index_g <n)
{
if(f[index_f] < g[index_g])
index_f++;
else if(f[index_f] > g[index_g])
index_g++;
else
count++,index_f++,index_g++;
}
return count;
}
我的答案和标准答案完全一样!哈哈!