感觉自己程序没有问题,但是没有正确输出结果。
希望有人可以告诉我是怎么错的,不要只给我一个正确程序,我想在这个过程中提高能力,谢谢啦~
我自己写的程序和题目已经附图
#include<stdio.h>
main()
{
int a[20],b[20],c[40];
int i,j,k=0,m,cnt1,cnt2,cnt,number; //cnt1为第一个数组元素个数,cnt2为第二个数组元素个数
printf("请输入第一个数组的元素个数:");
scanf("%d",&cnt1);
printf ("请输入第一个数组:");
for(i=0;i<cnt1;i++)
scanf("%d",&a[i]);
printf("请输入第二个数组的元数个数");
scanf("%d",&cnt2);
printf ("请输入第二个数组:");
for(j=0;j<cnt2;j++)
scanf("%d",&b[i]); //数据输入完成
for(i=0;i<cnt1;i++)
{
cnt=0;
for(j=0;j<cnt2;j++)
if(a[i]==b[j]) cnt++;
if(cnt==0)
{
c[k]=a[i];
k++;
}
} //找出第一个数组中需要打印的元素存放在数组c[40]中
for(j=0;j<cnt2;j++)
{
number=0;
for(i=0;i<cnt1;i++)
if(b[j]==a[i]) number++;
if(number==0)
{
c[k]=b[j];
k++;
}
} //找出第二个数组中需要打印的元素存放在数组c[40]中
printf("不是共同的元素有:");
print("%d",c[0]);
for(m=1;m<k;m++)
{
for(i=0;i<m;i++)
{
cnt=0;
if(c[m]==c[i]) cnt++;
}
if(cnt==0) printf("%d",c[m]);
}
}