玩转数组之有序数组共有元素

来源:互联网 发布:php base64解码成图片 编辑:程序博客网 时间:2024/05/16 02:05

数组之有玩转序数组共有元素
HPU1294
题目描述:
求两个有序数组的共有元素
输入:
每次测试只有一组测试数据。
第一行输入两个数,分别代表两个元素的长度
第二行输入m个值,代表第一个数组的每个元素值
第三行输入n个值,代表第二个数组的每个元素值
数组最长不超过20,每个元素值范围在int之内
输出:
输出两个数组共有的元素,占一行,每两个元素中间有一个空格
样例输入:
5 5
1 2 3 4 5
2 3 4 5 6
样例输出:
2 3 4 5

//注意题目是有序的数组的共有元素#include<stdio.h>int main(){    int n,m,i,j,k=0;    scanf("%d %d",&n,&m);    int a[n],b[m],c[20];    for(i=0;i<n;i++)        scanf("%d",&a[i]);    for(i=0;i<m;i++)        scanf("%d",&b[i]);    for(i=0;i<n;i++)    {        if(i>=1)        {            if(a[i]==a[i-1])                continue;//取重复元素的最后一个        }        for(j=0;j<m;j++)        {            if(a[i]==b[j])            {                c[k++]=a[i];                break;//若相等,跳出内循环,执行外循环进行下次比较            }        }    }    for(i=0;i<k;i++)    {        printf("%d ",c[i]);    }return 0;   }
0 0
原创粉丝点击