最大访客数

#include<stdio.h>
#define MAX 100

void sort(int x[],int count)
{
    int i,j,temp;
    for(i=0;i<=count;i++)
    {
        for(j=0;j<count-i;j++)
        {
            if(x[j]>x[j+1])
            {
                temp=x[j+1];
                x[j+1] = x[j];
                x[j] = temp;
            }
        }
    }
}
void main()
{
    int x[MAX]={0};
    int y[MAX]={0};
    int count=0,i,time=1,sum1=0,sum2=0;

    printf("输入来访与离开时间(0-24):  \n");
    printf("范例: 10 15\n");
    printf("输入-1 -1时结束;\n");
    printf("输入时间:\n");
    //对访客的来访时间还有离开时间进行初始化
    while(count<MAX)
    {
        scanf("%d%d",&x[count],&y[count]);
        if(x[count]<0)
        {
            count--;
            break;
        }
        count++;  //count 表示一共来访的人数。
    }
    //判断count的值是否需要减1;
    if(count>=MAX)
    {
        printf("\n当前的访客数达到最大值\n");
        count--;
    }

    sort(x,count);
    sort(y,count);

    while(time<25)
    {
        sum1=0;
        sum2 =0;
        //计算在time 之前来了多少人;
        for(i=0;i<=count;i++)
        {
            if(time>x[i])
                sum1++;
        }
        //计算在time+1之前离开的人数
        for(i=0;i<=count;i++)
        {
            if((time)>y[i])
                sum2++;
        }
        printf("%d点之前的人数为%d\n",time,sum1-sum2);
        time++;
    }
    getch();
}
原文地址:https://www.cnblogs.com/zychengzhiit1/p/2625937.html