Ajuda com LISTA ENCADEADA em C

Pessoal ,preciso de ajuda com 3 exercícios de lista encadeada, já tentei várias vezes mas nao consegui… preciso entregá-los amanha… Vou deixar o link com os exercícios e meu código. Se alguem puder fazer pra mim eu ficaria muito agradecido. Obrigado.

http://pastebin.com/pq3d70w3 << código e exercícios

Vou deixar o código e as questões aqui também:

1 - escreva uma função que concatene duas listas encadeadas, ou seja, no final da primeira lista colocar o endereço de memoria
do começo da proxima lista.

2 - troque a posição de duas celulas da lista;

3 - escreva uma função que inverta a a ordem das celulas de uma lista encadeada. A primeira posição passa a ser a ultima,
a segunda passa a ser a penultima e assim por diante.

#include <stdlib.h>
#include <stdio.h>
 
    struct nodo{
        int valor;
        struct nodo *prox = NULL;
    };
 
    void inserir(struct nodo cabeca, struct nodo n){
        struct nodo aux = cabeca;
        while(aux.prox != NULL){
            aux = *aux.prox;
 
        }
        aux.prox = &n;
    }
    struct nodo *buscar(struct nodo cabeca,int n){
    struct nodo aux = cabeca;
        while(aux.prox != NULL){
            if(aux.valor == n){
                return &aux;
            }
            aux = *aux.prox;
        }
        return NULL;
    }
 
    void remover(struct nodo cabeca,int valor){
    if(cabeca.prox != NULL){
        struct nodo aux = *cabeca.prox;
        struct nodo ant = cabeca;
        while(aux.valor != valor && aux.prox != NULL){
            ant = aux;
            aux= *aux.prox;
        }
 
        if(aux.valor == valor){
                ant.prox = aux.prox;
                free(&aux);
        }
 
    }
    }
 
    int main(){
        struct nodo lista;
        int v;
        scanf("%d",&v);
        struct nodo n1;
        n1.valor = v;
        inserir(lista,n1);
        scanf("%d",&v);
        struct nodo n2;
        n2.valor = v;
        inserir(lista,n2);
        *buscar(lista,5);
        return 0;
    }

Por favor, não peça urgência no fórum. E nem que “façam para você”.

Seria melhor postar onde estão suas dúvidas.