sinat_31829943 2015-11-04 15:12 采纳率: 60%
浏览 2016

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;
} 

麻烦帮忙看下程序

  • 写回答

1条回答 默认 最新

  • IZ345654321 2015-11-04 16:46
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?