游客 Signup | Login
中文 | En

2729 - 比正整数大的数

建立一个单链表,输入一组正整数,确定在序列中比正整数x大的数有几个。

Input

第一行:输入一组正整数

第二行:输入x的值。  

Output

第一行,输出比x大的元素。

第二行,输出个数。

Examples

Input

2 3 4 5 6
4

Output

5 6
2

Solution C

#include <stdio.h>
#define MAX 100
#define size 5
typedef int elemtype;                          //声明
typedef struct seqlist                         //定义
{
	elemtype elem[MAX];
	int last;
}Seqlist;

int main()
{
	struct seqlist l;
	int i,x,k=0;
	l.last=size;
	for(i=0;i<l.last;i++)
		scanf("%d",&l.elem[i]);
	scanf("%d",&x);
	for(i=0;i<l.last;i++)
	{
		if(x<l.elem[i])
		{
			if(i==l.last-1)
				printf("%d",l.elem[i]);
			else
				printf("%d ",l.elem[i]);
			k++;
		}
	}
	printf("\n");
	printf("%d\n",k);
}

Solution C++

#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct Node
{
	ElemType data;
	struct Node * next;
}Node,*LinkList;

void CreateFromTail(LinkList L)
{
	int i;
	Node * s,* r;
	r=L;
	for(i=0;i<5;i++)
	{
	s=(Node *)malloc(sizeof(Node));
	scanf("%d",&s->data);
	s->next=r->next;
	r->next=s;
	r=s;
	}
}   
   
void Del(LinkList L,ElemType e)
{
	Node *s,*r;
	s=L;
	while(s->next!=NULL)
	{
	if(s->next->data<=e)
	{
		r=s->next;
		s->next=s->next->next;
		free(r);
	}
		else
		s=s->next;
	}
	
}
void display(LinkList L)
{
	Node *c;
	c=L->next;
	
	
		printf("%d",c->data);
		printf(" ");
		c=c->next;
		printf("%d",c->data);
	
	printf("\n");
}
int ss(LinkList L)
{
	int n;
	n=0;
	Node *c;
	c=L;
	while(c->next!=NULL)
	{
		n++;
		c=c->next;
	}
	return(n);
}
int main()
{
	LinkList L;
	int e,n;
	L=(Node *)malloc(sizeof(Node));
	L->next=NULL;
	CreateFromTail( L);
	scanf("%d",&e);
	Del( L, e);
 	display( L);
 	n=ss(L);
 	printf("%d",n);
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题