prova cosi'...
codice:
#include<stdio.h>
#include<stdlib.h>
struct libro{
char titolo[50];
int prezzo[50];
}lib;
int main()
{
int i;/*nn c'è bisgono che poni i =0,perchè lo fai dentro al for dopo */
//leggo il titolo
gets(lib.titolo);
//leggo il prezzo che deve essere lungo 5 cifre...
for(i=0;i<5;i++)
scanf("%d",&lib.prezzo[i]);
system("pause")
}
Oltre ad aver modificato un po il codice,sul tuo leggevi l'i-esimo valore dell'array titolo con una gets che invece non necessita(anzi è propio errore :F) di un for perchè acquisisce direttamente tutto l'array di valori.
Per il prezzo che invece un array di int lo leggi tramite for