int Link_add()
{
listnode *num1;
num1 = (listnode *)malloc(sizeof(listnode));
num1->next =NULL;
creat_list(num1);
listnode *num2;
num2 = (listnode *)malloc(sizeof(listnode));
num2->next =NULL;
creat_list(num2);
listnode *sum, *tail;
sum = (listnode *)malloc(sizeof(listnode));
sum->next = NULL;
tail = sum;
int carry = 0;
while(num1 != NULL || num2 != NULL){
listnode *new;
new = (listnode *)malloc(sizeof(listnode));
int i = (num1 != NULL)? num1->data : 0;
int j = (num2 != NULL)? num2->data : 0;
new->data = (carry + i + j) % 10;
tail->next = new;
new->next = NULL;
tail = new;
carry = (carry + i + j) / 10;
if(num1 != NULL)
num1 = num1->next;
if(num2 != NULL)
num2 = num2->next;
}
if(carry){
listnode *new;
new = (listnode *)malloc(sizeof(listnode));
new->data = 1;
tail->next = new;
new->next = NULL;
tail = new;
}
Print_int(sum->next);
}
int delete_node()
{
listnode *num1;
num1 = (listnode *)malloc(sizeof(listnode));
num1->next =NULL;
creat_list(num1);
int n;
printf("delete bottom node is ");
scanf("%d", &n);
listnode *p, *q;
p = (listnode *)malloc(sizeof(listnode));
p = num1;
q = p;
int i = 0;
for(i; i <= n; i++){
q = q->next;
}
while(q != NULL){
p = p->next;
q = q->next;
}
p->next = p->next->next;
Print_int(num1);
}