Salve a tutti!
Ho un problema..
In questo codice io devo leggere un file contenente parole delimitate da un numero variabile di spazi e devo creare un file contenente le parole e la loro relativa frequenza, in modo decrescente.
La lista è già creata e riempita;il problema sorge nella stampa delle 100 parole più frequenti.
Non riesco a capire come mai mi stampi solo la prima parola più frequente e nessun'altra!
Questo è il codice:

codice:
temp=testa;			
	if(testa==NULL)
	{	
		fclose(fpw);		
		exit(0);			
	}
	else
		{
			while(temp != NULL && numero_parole <= 100 )
			{
				massimo=0;									
				while(temp != NULL)	//ciclo per trovare il massimo
				{				
					if(temp->frequenza > massimo)
					{			
						massimo=temp->frequenza;
					}			
					temp=temp->next;						
				}
				
				temp=testa;									
													
				while(temp != NULL)
				{						
					if(temp->frequenza == massimo)
					{				
										
						fprintf(fpw,"%d %s \r\n",temp->frequenza,temp->parola);	
						numero_parole++;

						if(temp == testa)
						{
							if(temp->next != NULL)		
							{
								testa = testa->next;										
							}								
							else
							{	//lista finita
								break;								
							}
						}		
						canc=temp;
						temp=temp->next;
						prev->next=temp;
						free(canc);					
						
					
												
					}
					else
						{
							prev=temp;
							temp=temp->next;
						}
						

				}

			}
		}
Spero che ci sia qualche buon anima che mi possa rispondere e aiutare!
Grazie in anticipo..