急!!!C语言:输出两组数组中相同的数字

有两组数据,分别包含m和n个整数。每组数据中的整数不重复且按由小到大次序排列。 请输出所有在两组数据中同时存在的整数。如果没有这样的数,则输出"NO" 请放心,(1)每组数据中的整数不重复且按由小到大次序排列,你无需检查,也不必排序。

输入描述

先输入m和n的值,分别表示两组数据的个数,然后输入第一组数据的m个整数,以及第二组数据的n个整数。

输出描述

输出所有在两组数据中同时包含的整数。
样例输入
5 7
5 9 17 123 698
7 8 9 16 17 92 698
样例输出
9 17 698

第1个回答  2017-12-19
//示例代码如下
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,i,j,flag=0;
int *pm,*pn;
scanf("%d%d",&n,&m);
pm=(int*)malloc(sizeof(int)*m);
pn=(int*)malloc(sizeof(int)*n);
for(i=0;i<m;i++)
scanf("%d",pm+i);
for(i=0;i<n;i++)
scanf("%d",pn+i);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
if(pm[i] == pn[j]){
printf("%d ",pn[j]);
flag=1;
}
}
if(!flag)
printf("NO\n");
printf("\n");
free(pm);
free(pn);
return 0;
}

//示例运行结果
F:\c_work>a.exe
5 7
5 9 17 123 698
7 8 9 16 17 92 698
9 17 698

本回答被网友采纳
第2个回答  2017-12-19
这个问题使用二重循环就可以解决的。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网