输入两个数组中要存放的元素个数及元素值(不超过50个),判断这两个数组中是否有相同的数字。
当两组数中有相同数字时,输出YES,否则,输出NO
/*
* Copyright (c) 2014,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:demo.cpp
* 完成时间:2014年12月10日
* 版本号:v1.0
*/
#include<iostream>using namespace std;bool existthesame(int *a,int n1,int *b,int n2);
int main(){int a[50];int b[50];int i, n1, n2;cin>>n1;for (i=0;i<n1;i++)cin>>a[i];cin>>n2;for (i=0;i<n2;i++)cin>>b[i];bool flag=existthesame(a,n1,b,n2);if(flag==true)cout<<"YES\n";elsecout<<"NO\n";return 0;}bool existthesame(int *a,int n1,int *b,int n2){int i,j;for (i=0;i<n1;i++)for (j=0;j<n2;j++){if (*(a+i)==*(b+i))return true;elsecontinue;}}
运行结果:
输出两个有序数列(不超过50个)中有多少相同数据,并输出这些数据。
第一行输入这两组数的个数(不超过50个)。
后面两行分别输入这两组数。同一序列中的数字不会重复。
第一行输出相同数字的个数,第二行输出这些相同的数字。
若没有相同的数字,输出NULL。
<pre name="code" class="cpp">/*
* Copyright (c) 2014,烟台大学计算机学院
* All right reserved.
* 作者:邵帅
* 文件:demo.cpp
* 完成时间:2014年12月10日
* 版本号: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;cin>>n1;cin>>n2;for (i=0; i<n1; i++)cin>>a[i];for (i=0; i<n2; i++)cin>>b[i];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 i,j,n=0;for (i=0; i<n1; i++)for (j=0; j<n2; j++){if (*(a+i)==*(b+j)){*(c+n)=*(a+i);n++;continue;}elsecontinue;}return n;
}
运行结果:
<img src="https://img-blog.csdn.net/20141210170642421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWF5dWtvMjAxMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
@ Mayuko