输出数字出错,自动结束

代码如下:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define ERROR 0
typedef int ELemType;
typedef struct Node
{
ELemType data;
struct Node *next ;
}Node ;
typedef struct Node *LinkList;
void CreateListHead(LinkList *L , int n )
{
LinkList p ;
int i ;
srand(time(0)); //初始化随机种子
*L = (LinkList)malloc(sizeof(Node));
(*L)->next = NULL; //建立带头结点的链表
for(i = 0 ; i < n ;i++ )
{
p = (LinkList)malloc(sizeof(Node));
p->data = rand()%10+1; //随机生成100以内数
p->next = (*L)->next;
(*L)->next = p ; //插到表头
}
}
int del_min(LinkList *L , int e)
{
LinkList min;
LinkList p ;
p = (*L)->next , min = p;
if(p==NULL)
return ERROR;
while(p != NULL)
{
if(p->data<min->data)
{
min = p ;
p = p->next ;
}
else
{
p = p->next ;
}
}
e = min->data;
if((min->data)/2==0)
free(min->next);
else
{
min->data = min->next->data;
min->next->data = e ;
}
return e ;
}
int main ()
{
printf("\n");
LinkList L;
int i , n , m = 1 ;
n=10;
CreateListHead(&L , n);
for(i = 0 ; i<= 10 ; i++)
{
L= L->next;
printf("%d",L->data);
if(5/m==0)
printf("\n");
m++;
}
printf("\n\n");
int e= 0 ,j;
m=1;
j=del_min(&L , e);
printf("输出最小值:%d\n\n\n",j);
for(i = 0 ; i<= 10 ; i++)
{
L= L->next;
printf("%-1d",L->data);
if(5/m==0)
printf("\n");
m++;
}
printf("\n\n");
return 0 ;
}
求帮忙解决方法