第十六周OJ(3)

来源:互联网 发布:数据分析能力 编辑:程序博客网 时间:2024/06/08 15:58
/*  *Copyright(c)2014,烟台大学计算机学院  *Allrights reserved.  *文件名称:MADE2.cpp  *作    者:张生栋  *完成日期:2014年12月15日  *问题描述: 输出两个有序数列(不超过50个)中有多少相同数据,并输出这些数据。 *输入描述:第一行输入这两组数的个数(不超过50个)。后面两行分别输入这两组数。同一序列中的数字不会重复。 *输出描述:第一行输出相同数字的个数,第二行输出这些相同的数字。若没有相同的数字,输出NULL *版 本 号:v1.0  * */  #include <iostream>using namespace std;int sameNum(int *a,int n1,int *b,int n2, int *c);int main(){    int a[50];    int b[50];    int c[50];    int i, n1, n2, n3;    int *p;    cin>>n1>>n2;    for(p=a; p<n1+a; p++)        cin>>*p;    for(p=b; p<n2+b; p++)        cin>>*p;    n3 = sameNum(a,n1,b,n2,c);    if(n3==0)        cout<<"NULL\n";    else    {        cout<<n3<<endl;        for(i=0; i<n3; i++)            cout<<c[i]<<" ";        cout<<endl;    }    return 0;}int sameNum(int *a,int n1,int *b,int n2, int *c){    int *p,*q,*t;    int n3=0;    t=c;    for(p=a; p<n1+a; p++)    {        for(q=b; q<n2+b; q++)        {            if(*p==*q)            {                n3++;                *t=*p;                t++;            }        }    }    return n3;}
运行结果:
0 0
原创粉丝点击