#include<stdio.h>
#include<stdlib.h>
int elements(int a[],int b[],int c[],int sizea,int sizeb)
{
int pa=0;
int pb=0;
int count=0;
while(pa<sizea && pb<sizeb)
{
if (a[pa]>b[pb])
pb++;
else if(a[pa]<b[pb])
pa++;
else
{ c[count++]=a[pa];
pa++;
pb++;
}
}
return (count);
}
int main(void)
{
int a[]={1,2,3,4,5,6,7,8,9};
int b[]={4,5,6};
int c[10];
int i,count;
count = elements( a,b,c ,9,3);
printf("相同的元素的个数是:%d\n",count);
for(i=0;i<count;i++)
printf("%4d\n",c[i]);
system("pause");
return 0;
}
#include<stdlib.h>
int elements(int a[],int b[],int c[],int sizea,int sizeb)
{
int pa=0;
int pb=0;
int count=0;
while(pa<sizea && pb<sizeb)
{
if (a[pa]>b[pb])
pb++;
else if(a[pa]<b[pb])
pa++;
else
{ c[count++]=a[pa];
pa++;
pb++;
}
}
return (count);
}
int main(void)
{
int a[]={1,2,3,4,5,6,7,8,9};
int b[]={4,5,6};
int c[10];
int i,count;
count = elements( a,b,c ,9,3);
printf("相同的元素的个数是:%d\n",count);
for(i=0;i<count;i++)
printf("%4d\n",c[i]);
system("pause");
return 0;
}
C语言实现:找出两个有序数组的交集
本文展示了如何使用C语言编写一个函数,找出两个已排序数组的公共元素。通过比较数组元素并更新指针,最终返回交集中元素的个数,并打印出这些元素。
734

被折叠的 条评论
为什么被折叠?



