- 积分
- 66403
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-7-23
- 最后登录
- 1970-1-1
|
发表于 2011-11-3 12:04:43
|
显示全部楼层
#include <stdio.h>
#define MAXN 10 /*数列的最大个数*/
int InputArr(char name,int *x)
{ int i,count;
printf("%c数列大小:",name);
scanf("%d",&count);
printf("请输入数列%c的元素,共有%d个元素:",name,count);
for(i=0;i<count;i++)
scanf("%d",x+i);
return count;
}
void DelArrAt(int *x,int *pn,int pos)
{ int i;
for(i=pos;i<*pn-1;i++)
x[i]=x[i+1];
*pn=*pn-1;
}
int DelFromArr(int *x,int *pn,int y)
{ int i;
for(i=0;i<*pn;i++)
if(x[i]==y)
{ DelArrAt(x,pn,i);
return 1;
}
return 0;
}
void PrtArr(char name,int *x,int n)
{ int i;
printf("%c数组为:",name);
for(i=0;i<n;i++)
printf("%d ",x[i]);
printf("\n");
}
main()
{
int a[MAXN],b[MAXN],n,m,i;
char aTag[MAXN]={0}; /* 对应于a数组的删除逻辑尺,0--不删除,1--要删除 */
n=InputArr('a',a);
m=InputArr('b',b);
for(i=0;i<n;i++)
if(DelFromArr(b,&m,a[i]))aTag[i]=1;
for(i=0;i<n;i++)
{ if(aTag[i])DelArrAt(a,&n,i);
}
PrtArr('a',a,n);
PrtArr('b',b,m);
}
不好意思,C编的。。。转换一下应该不难吧 |
|