输出两个数组中重复的元素,求指错。

美之曰,求同存异。
输入两个数组(数组元素个数6和8),输出在两个数组中都出现的元素(如a[6]={2,3,4,5,6,7},b[8]={3,5,7,9,11,13,15,19},则输出3、5、7)。
样例输入

2 3 4 5 6 7
3 5 7 9 11 13 15 19
样例输出

3
5
7

#include <stdio.h>
int main()
{
int i,j;
char a[6],b[8];
for(i=0;i<6;i++)
{scanf("%d",&a[i]);}
for(j=0;j<8;j++)
{scanf("%d",&b[j]);}

for(i=0;i<6;i++)
{
for(j=0;j<8;j++)
if(b[j]==a[i])printf("%d\n",b[j]);
}
return 0;
}

第1个回答  推荐于2017-11-26
#include <stdio.h>
int main(){
    int i,j;
    int a[6],b[8];//此处由char该int
    for(i=0;i<6;i++)
    {scanf("%d",&a[i]);}
    for(j=0;j<8;j++)
    {scanf("%d",&b[j]);}

    for(i=0;i<6;i++){
         for(j=0;j<8;j++)
   if(b[j]==a[i]){
      printf("%d\n",b[j]);
      break;//如果遇到一个数字相同,则不再比较后续的
 }
       }
    return 0;        
}

本回答被提问者和网友采纳
第2个回答  2014-10-30
把char a[6],b[8];改为int a[6],b[8];
即可
相似回答