c语言 摘桃子问题

输入文件(pea.in)
第一行两个正整数m和n(n<=100,m<=20),m为桃子的总数,n为朋友人数。
第二行m个正整数,分别表示每个桃子的高度(每个桃子高度不超过300厘米)。
第三行n个正整数,分别表示每个朋友伸手能达到的高度(每个朋友伸手所能达到的最大高度不超过300厘米)。
输出文件(pea.out)
一个整数,表示所有朋友最多能摘到的桃子总数。

#include<stdio.h>
int partition(int a[],int low,int high)
{
    int key;
    key=a[low];
    while(low<high)
    {
        while(low<high&&a[high]>=key) high--;
        a[low]=a[high];
        while(low<high&&a[low]>=key) low++;
        a[high]=a[low];
    }
    a[low]=key;
    return low;
}
void QSort(int a[],int low,int high)
{
    int loc;
    if(low<high)
    {
        loc=partition(a,low,high);
        QSort(a,low,loc-1);
        QSort(a,loc+1,high);
    }
}
void pea()
{
    int i,j=0,m,n,k=0;
    int pea[100],person[20];
    scanf("%d %d",&m,&n);
    for(i=0;i<m;i++)
        scanf("%d",&pea[i]);
    getchar();
    for(i=0;i<n;i++)
        scanf("%d",&person[i]);
    QSort(pea,0,m-1);
    QSort(person,0,n-1);
    for(i=0;i<20;i++)
    {
        if(person[i]>pea[j]) 
        {
            k++;j++;
            if(person[i]>pea[j]){k++;j++;}
        }
    }
        printf("%d",k);
}
int main()
{   
    freopen("pea.in","r",stdin);
    freopen("pea.out","w",stdout);
    pea();
    return 0;
} 

麻烦帮忙看下程序

c

1个回答

这个桃子数和朋友数都搞晕了。如果桃子是100的话,那么pea函数的实现中第一个for循环中i应小于m,和第二个for循环应不一样。愚见

sinat_31829943
sinat_31829943 改过了还是没有结果问题应该不是在这里,,,
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!