求一道c语言函数题

编写函数求两个数组中是否存在相同的数并统计其个数,将统计的个数返回给主函数。... 编写函数求两个数组中是否存在相同的数并统计其个数,将统计的个数返回给主函数。 展开
 我来答
ok洛阳水席
2013-05-18 · TA获得超过1839个赞
知道小有建树答主
回答量:580
采纳率:50%
帮助的人:515万
展开全部
void swap(int v[], int i, int j)
{
    int temp;
    temp = v[i];
    v[i] = v[j];
    v[j] = temp;
}
void quicksort(int v[], int n)
{
    int i, last = 0;
    if(n <= 1)
        return;
    for(i = 1; i < n; i++)
    {
        if(v[i] < v[0])
            swap(v, ++last, i);
    }
    swap(v, 0, last);
    quicksort(v, last);
    quicksort(v+last+1, n-last-1);
}
int statistics(int a[], int na, int b[], int nb)
{
    quicksort(a, na);
    quicksort(b, nb);
    int i = 0, j = 0, count = 0;;
    while((i < na) && (j < nb))
    {
        if(a[i] < b[j])
            i++;
        else if(a[i] == b[j])
        {
            count++;
            i++;
            j++;
        }
        else
            j++;
    }
    return count;
}

思路就是输入两个数组,再将它们都排好序,然后开始寻找相同的元素。


查找的方法是:当a和b两个数组里从第一个数开始比较,相同则同时往后找,并count加1;

如不想等,则较小的往后找。


提供原文件给你好了。有疑问追问便是!

2013 5 18 17:52

本思一体电脑
2013-05-18 · TA获得超过111个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:95.1万
展开全部
这个题目不难,只要遍历数组就可以了。知道c语言的基本知识就可以解决这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式