Ecco la mia soluzione... scusa se trovi qualche imprecisione in C ma non lo conosco molto bene... comunque il programma funziona anche se da dei warning

codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main()
{
    char f1[] = "Oggi ho comprato una penna nuova";
    char p[]="penna";
    printf("%d\n",cerca(f1,p));
    char f2[] = "Penna di pollo";
    printf("%d\n",cerca(f2,p));
    system("pause");
    return 0;
    }

int cerca(char frase[], char parola[])
{
    int trovato=0;
    int iniziato=0;
    int lunghezza=strlen(parola);   
    
    char parolareale[80]= "";
    strcat(&parolareale," ") ;
    strcat(&parolareale,parola);
    strcat(&parolareale," ");

    int i;
    for (i=0; i<strlen(frase); i++)
      {
      
        if (frase[i]==parolareale[trovato]) trovato++;
        else {trovato=0; }
        if (trovato==lunghezza) return 1;
        }

return 0;
     }
Ciao ciao