Eheheh.. tranquilla, facciamo le cose passo passo!
Brava hai fatto una cosa, adesso potresti dividere le parole semplicemente cercando con un if il carattere spazio, appena c'è il carattere spazio sai che la parola finisce e così via.
Un esempio potrebbe essere:
codice:
#include <stdio.h>
#include <conio.h>
#define MAX_PAROLE 1000
#define MAX_CARATTERI 512
int main()
{
char frase[MAX_CARATTERI], parole[MAX_PAROLE][MAX_CARATTERI];
int i, p = 0;
printf("Inserisci la frase: ");
scanf("%512[^\n]", frase); //Ho messo [^\n] per far sì che legga fino alla fine, altrimenti si ferma al primo spazio
for (i = 0; frase[i]; i++) //Ciclo che va da 0 fino alla fine della stringa
{
if (frase[i] != ' ') //Se il carattere corrente è diverso da uno spazio
{
strncat(parole[p], frase + i, 1); //copio sulla stringa "parole" dell'indice p, il carattere corrente
}
else //Se + uno spazio
{
p++; //Incremento p, in modo da immagazzinare un altra parola
}
}
printf("Frase acquisita: %s\n\nOutput:\n", frase);
for (i = 0; i < p+1; i++) //Ciclo che va da 0 a p+1 (+1 perché deve leggere anche l'ultima parola trovata)
{
printf("%s\n", parole[i]); //Stampo la parola
}
getch();
return 0;
}
Ti basterebbe usare la tua funzione che confronta da quella lista di parole