【C】两个有序序列的中位数

程序代码:

#include<stdio.h>
#define max 100000
int main()
{
    int i=0, n;
    scanf("%d",&n);
    int a[max];
    int b[max];
    for(;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<n;i++)
                scanf("%d",&b[i]);
    int*p,*q ,count = 0;
    p=a;q=b;
    int *t=p;   
    while(count<n)
    {
        if(*p<*q)
        {
            t=p;
            if(p<&a[n-1])
                p++;
            else
                q++;
            count++;
        }
        else if(*p>*q)
                {
                        t=q;
            if(q<&b[n-1]) q++; else p++; count++; } else if(*p==*q) { if(p<&a[n-1]) { t=p; p++; } else if(q<&b[n-1]) { t=q; q++; } count++; } } printf("%d",*t); return 0; }

运行结果:

全部评论

相关推荐

点赞 评论 收藏
分享
狸猫换offer:神通广大的互联网
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务