c语言编程: 输入两个数组,每个数组不超过10个元素,将只在一个数组中出现的数全部输出。

如题所述

#include "stdio.h"
main()
{
int i,j,sign;
int a[10],b[10];
printf("请输入第1组10个数\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("请输入第2组10个数\n");
for(i=0;i<10;i++)
scanf("%d",&b[i]);
printf("未重复的是:\n");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(a[i]==b[j]) sign=1;
}
if(sign!=1)printf("%3d",a[i]);
sign=0;
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(b[i]==a[j]) sign=1;
}
if(sign!=1)printf("%3d",b[i]);
sign=0;
}
printf("\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-15
意思就是A数组中的数B数组没有呗...
代码要自己写才有有意思
双层for循环 把A[i]元素 和每个B元素if一下 设定一个计数器 如果对比10次计数器都没增加
则输出A[i]元素.. 然后计数器归零 再进入外部循环... 如此反复10次
然后再把A和B兑换下 再来一次上面的就能把B的元素输出了..
第2个回答  2012-11-15
不难吧

int main()
{
int a[10], b[10], i, j, m, n;
scanf("%d%d", &m, &n);
for (i = 0; i < m; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++)
{
scanf("%d", &b[i]);
}
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
if (a[i] == b[j])
{
break;
}
}
if (j == n)
{
printf("%d ", a[i]);
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (b[i] == a[j])
{
break;
}
}
if (j == m)
{
printf("%d ", b[i]);
}
}
return 0;
}本回答被网友采纳

相关了解……

你可能感兴趣的内容

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