代码
#include<stdio.h>
#include<string.h>
#define Max 10
//给定一个顺序表(元素均为正整数)将表中的偶数删除,并保存在另一个顺序表中
typedef struct {
int data[Max];
int length;
}node;
void Creat(node &L) //创建顺序表
{
int n;
printf("共输入元素个数:");
scanf("%d",&n);
int i;
for(i=0;i<n;i++){
scanf("%d",&L.data[i]);
if(L.data[i] < 0){
printf("输入数据不符,请重新输入\n");
scanf("%d",&L.data[i]);
}
}
L.length =n;
}
int jiou(node &L, node &L1)
{
L1.length=0;
int i,j=0,k;
for(i=0;i<L.length ;i++){
if(L.data[i]%2 == 0) //如果为偶数
{
L1.data [j++]=L.data [i]; //将偶数赋值给L1
if(i == L.length-1){ //如果最后一个元素为偶数,则长度减一,结束
L.length --;
L1.length ++;
break;
}
for(k=i;k<L.length;k++){ //如果不是最后一个元素,则后面所有元素前移
L.data[k]=L.data[k+1];
}
L1.length ++;
L.length --;
}
}
}
int Dis(node L) //打印
{
if(L.length <=0) return 0;
int i=0;
for(i=0;i<L.length ;i++){
printf("%d ",L.data[i]);
}
printf("\n");
return 1;
}
int main()
{
node L;
node L1;
Creat(L);
jiou(L,L1);
Dis(L);
Dis(L1);
}