题样:


#include<stdio.h>
int* partclear_repeat(int* p,int n)//清除整型数组中重复数据,
//保留最前的那个重复数据,后面重复的全变为2147483647
{
int* src=p;
int* set=p;
int* end=p+n;
int t=0;
for(;p<=end;p++)
{
t=*p;
for(src=p+1;src<=end;src++)
{
if(t==*src)
*src=2147483647;
}
}
return set;
}
int main(){
int n=0,i=0,j=0,m=0,k=0;
scanf("%d",&m);
int a[20]={0},b[20]={0},c[40]={0};
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
//
int t=0,flag=0;
for(i=0;i<m;i++)//找a中满足的数
{
flag=1;
t=a[i];
for(j=0;j<n;j++)
{
if(b[j]==t)
{
flag=0;
}
}
if(flag==1)c[k++]=a[i];
}
for(i=0;i<n;i++)//找b中满足的数
{
flag=1;
t=b[i];
for(j=0;j<m;j++)
{
if(a[j]==t)
{
flag=0;
}
}
if(flag==1)c[k++]=b[i];
}
partclear_repeat(c,k);
for(i=0,flag=0;i<k;i++)
{
if(flag==0)
{
printf("%d",c[i]);
flag=1;
}
else if(c[i]!=2147483647)printf(" %d",c[i]);
}
return 0;
}

这是一道关于数组操作的题目,目标是找到两个数组中不共有的元素。主要涉及C语言编程技巧和算法应用。
734

被折叠的 条评论
为什么被折叠?



