题样
struct ListNode *readlist()
{
struct ListNode * head=NULL;
struct ListNode * p=NULL;
struct ListNode * p2=NULL;
while(1)
{
p=(struct ListNode *)malloc(sizeof(struct ListNode ));
scanf("%d",&p->data);
if(p->data==-1)break;
else
{
if(head==NULL)
{
head=p;
p2=p;
}
else
{
p2->next=p;
p2=p;
}
}
p2->next=NULL;
}
return head;
}
int isjishu(int a)
{
return a%2;
}
int * jishu(struct ListNode * head)
{
struct ListNode *p=head;
static int arr[5000]={0};
int i=0;
while(p)
{
if(isjishu(p->data )>0)
{
arr[i++]=p->data ;
}
p=p->next ;
}
return arr;
}
int *shenyu(struct ListNode *head)
{
static int arr2[5000]={0};
int j=0;
struct ListNode