Grazie per le info, corretto^^ cmq sia nel corso della giornata ho cambiato un pò il prg ecco:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define COLONNE    5
#define RIGHE      4
void visualizza_mat(char b[RIGHE][COLONNE],int n,int m);
struct giocatore {
       char nome[10];
       char cognome[10];
				};
    typedef struct giocatore gt;
       void main()
       {
       
           int j,r,i,c,simulatore=0,tennista=0,palla,n_lanci=50000,vittorie=0,sconfitte=0,perc_respinte=0,perc_respinte2=0;

           gt gioc ;
char campo2[RIGHE][COLONNE]={
    {'B','B','B','B','B'},
	{'B','G',' ','G','B'},
	{'B','A',' ','A','B'},
	{'B','G',' ','G','B'}};
           printf("Benvenuto nel programma di simulazione del gioco del tennis vuoi giocare?\n");
		   visualizza_mat(campo2,RIGHE,COLONNE);
           printf("\n-- Inserisci il tuo nome -- \n");
           scanf("%s",gioc.nome);
		   fflush(stdin);
           printf("-- Inserisci il tuo cognome -- \n");
           scanf("%s",gioc.cognome);
    		   srand(time(NULL));
			   perc_respinte=(n_lanci*80)/100;
			    perc_respinte2=(500*80)/100;
printf(">> IL GIOCO PUO' INIZIARE <<\n\n");


for(i=0;i<100;i++)
 for(j=0;j<500;j++)
	{ char  campo2[RIGHE][COLONNE]={
    {'B','B','B','B','B'},
	{'B','G',' ','G','B'},
	{'B','A',' ','A','B'},
	{'B','G',' ','G','B'}};
	                                     //INIZIO FOR
	 palla=1+rand()%10;
	 do{									//INIZIO REPEAT UNTIL
        r=rand()%3;
		c=rand()%4;
	 }									    //FINE REPEAT UNTIL
	 while ((c == 2) && (r == 1 || r == 2 || r == 3));
	
       		  fflush(stdin);
		  campo2[r][c]='X'; visualizza_mat(campo2,RIGHE,COLONNE);printf("%d comb: r=%d c=%d pall=%d\n",j,r+1,c+1,palla);
		  

		  if((r==2 && c ==1) || (r==2 && c==3))
			  tennista++;
		  else if((r==1 && c==1) || (r==1 && c==3) || (r==3 && c==1) || (r==3 && c==3)){
		   
			  if(palla<3)
				  tennista++;
			  else
				  simulatore++;}
		   			
				  if((r==0 && c==0) || (r==0 && c==1) || (r==0 && c==2) || (r==0 && c==3) || (r==0 && c==4) || (r==1 && c==0) || (r==1 && c==4) || (r==2 && c==0) || (r==2 && c==4) || (r==3 && c==0) || (r==3 && c==4))			
					 tennista++;
				   
				  
				  if(tennista>perc_respinte2)
					  vittorie++;
				  else
					  sconfitte++;
	   }										//FINE FOR
printf("\n-- Il giocatore ha totalizzato %d punti --\n",tennista);
printf("\n-- Il simulatore ha totalizzato %d punti --\n",simulatore);
printf("\n-- Le partite vinte sono: %d quelle perse invece sono: %d --\n",vittorie,sconfitte);

printf("\nPer vincere il giocatore deve totalizzare un numero di punti maggiore della \npercentuale di lanci respinti che risulta essere: %d, di conseguenza :\n",perc_respinte);
 if(tennista>perc_respinte)
	 printf("\n-- Hai vinto tu giocatore!! --\n");
 else
	 printf("\n-- Mi dispiace hai perso, ha vinto il simulatore --\n");

}


void visualizza_mat(char b[RIGHE][COLONNE],int n,int m)
{
	int i,j;
	printf("\n");
	printf("ECCO IL CAMPO DI TENNIS: \n");
	for(i=0;i<RIGHE;i++)
	{	
		for(j=0;j<COLONNE;j++)
			printf("  %c",b[i][j]);
		printf("\n");
	}
}
solo che ora mi esce sempre "hai vinto" cioè viene sempre superata la soglia dei 40000 punti necessari per vincere.. eppure i numeri sn casuali qualche volta dovrebbe pur apparire la scritta " Mi dispiace hai perso, ha vinto il simulatore".. che ne pensate voi???