#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
 
int  main( )  { 
    int  PORTAS[ ]  =  { 0 ,  0 ,  0 } ;   // 0 - a porta contém uma cabra; 1 - a porta contém o carro  
    int  ESTAT[ ]  =  { 0 ,  0 ,  0 } ;    // {Tentativas, vitórias, derrotas} 
    int  repeticoes; 
    int  DECISAO; 
    printf ( "1 para trocar todas, 0 para manter todas: " ) ;      printf ( "Digite o número de repetições: " ) ;  // Recomendável 10, 100 ou 1000.      scanf ( "%d" ,  & repeticoes
) ;      int  NUM =  repeticoes; 
    do  { 
    	int  AUX; 
    	int  CAR 
=  rand ( )  % 3 ;    // Randomiza a porta que recebe o carro.          PORTAS[ CAR]  =  1 ;    
        int  ESC 
=  rand ( )  % 3 ;    // Randomiza a escolha da porta.          if  ( DECISAO ==  1 )  {     // Se foi escolhido trocar todas as vezes. 
            if  ( PORTAS[ ESC]  ==  1  )  {    // Porta escolhida contém o carro. 
                for  ( AUX =  0 ;  AUX <  3  ;  AUX++ )  { 
                    if  ( PORTAS[ AUX]  !=  1  &&  AUX !=  ESC)  { 
                        ESC =  AUX;       //Mudança de porta 
                        AUX =  3 ;     // Para quebrar o 'For' 
                        ESTAT[ 2 ]  +=  1 ; 
                    } 
                } 
            } 
            if  ( PORTAS[ ESC]  ==  0 )  {     //Porta escolhida contém uma cabra. 
                ESC =  CAR;   // Pois sendo a porta errada, e tendo a outra errada sido revelada, só sobrou a correta. 
                ESTAT[ 1 ]  +=  1 ; 
            } 
        } 
        if  ( DECISAO ==  0 )  {      //Caso tenha sido escolhido manter todas as vezes. 
            if  ( ESC ==  CAR )  ESTAT[ 1 ]  +=  1 ; 
            else   ESTAT[ 2 ]  +=  1 ; 
        } 
        NUM--; 
        ESTAT[ 0 ]  +=  1 ; 
    }  while  ( NUM >  0 ) ; 
    float  VIT =  ( ESTAT[ 2 ]  /  repeticoes)  *  100 ;  // Porcentagem de vitórias  *ERRO* 
    float  DER =  ( ESTAT[ 3 ]  /  repeticoes)  *  100 ;  // Porcentagem de derrotas  *ERRO* 
    ( DECISAO 
==  1 )  ?  printf ( "\n \n \n \t Trocando de porta todas as vezes: \n \n " )  :  printf ( "\n \n \n \t Mantendo a porta todas as vezes: \n \n " ) ;      printf ( "Número de tentativas: %d\n " ,  ESTAT
[ 0 ] ) ;      printf ( "Número de vitórias: %d, %f%% do total.\n " ,  ESTAT
[ 1 ] ,  VIT
) ;      printf ( "Número de derrotas: %d, %f%% do total." ,  ESTAT
[ 2 ] ,  DER
) ;  } 
 
//https://pt.stackoverflow.com/q/100177/101 
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmludCBtYWluKCkgewogICAgaW50IFBPUlRBU1tdID0gezAsIDAsIDB9OyAgLy8gMCAtIGEgcG9ydGEgY29udMOpbSB1bWEgY2FicmE7IDEgLSBhIHBvcnRhIGNvbnTDqW0gbyBjYXJybyAKICAgIGludCBFU1RBVFtdID0gezAsIDAsIDB9OyAgIC8vIHtUZW50YXRpdmFzLCB2aXTDs3JpYXMsIGRlcnJvdGFzfQogICAgaW50IHJlcGV0aWNvZXM7CiAgICBpbnQgREVDSVNBTzsKICAgIHByaW50ZigiMSBwYXJhIHRyb2NhciB0b2RhcywgMCBwYXJhIG1hbnRlciB0b2RhczogIik7CiAgICBzY2FuZiAoIiVkIiwgJkRFQ0lTQU8pOwogICAgcHJpbnRmICgiRGlnaXRlIG8gbsO6bWVybyBkZSByZXBldGnDp8O1ZXM6ICIpOyAvLyBSZWNvbWVuZMOhdmVsIDEwLCAxMDAgb3UgMTAwMC4KICAgIHNjYW5mICgiJWQiLCAmcmVwZXRpY29lcyk7CiAgICBpbnQgTlVNID0gcmVwZXRpY29lczsKICAgIGRvIHsKICAgIAlpbnQgQVVYOwogICAgCWludCBDQVIgPSByYW5kICgpICUzOyAgIC8vIFJhbmRvbWl6YSBhIHBvcnRhIHF1ZSByZWNlYmUgbyBjYXJyby4KICAgICAgICBQT1JUQVNbQ0FSXSA9IDE7ICAgCiAgICAgICAgaW50IEVTQyA9IHJhbmQgKCkgJTM7ICAgLy8gUmFuZG9taXphIGEgZXNjb2xoYSBkYSBwb3J0YS4KICAgICAgICBpZiAoREVDSVNBTyA9PSAxKSB7ICAgIC8vIFNlIGZvaSBlc2NvbGhpZG8gdHJvY2FyIHRvZGFzIGFzIHZlemVzLgogICAgICAgICAgICBpZiAoUE9SVEFTW0VTQ10gPT0gMSApIHsgICAvLyBQb3J0YSBlc2NvbGhpZGEgY29udMOpbSBvIGNhcnJvLgogICAgICAgICAgICAgICAgZm9yIChBVVggPSAwOyBBVVggPCAzIDsgQVVYKyspIHsKICAgICAgICAgICAgICAgICAgICBpZiAoUE9SVEFTW0FVWF0gIT0gMSAmJiBBVVggIT0gRVNDKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVTQyA9IEFVWDsgICAgICAvL011ZGFuw6dhIGRlIHBvcnRhCiAgICAgICAgICAgICAgICAgICAgICAgIEFVWCA9IDM7ICAgIC8vIFBhcmEgcXVlYnJhciBvICdGb3InCiAgICAgICAgICAgICAgICAgICAgICAgIEVTVEFUWzJdICs9IDE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChQT1JUQVNbRVNDXSA9PSAwKSB7ICAgIC8vUG9ydGEgZXNjb2xoaWRhIGNvbnTDqW0gdW1hIGNhYnJhLgogICAgICAgICAgICAgICAgRVNDID0gQ0FSOyAgLy8gUG9pcyBzZW5kbyBhIHBvcnRhIGVycmFkYSwgZSB0ZW5kbyBhIG91dHJhIGVycmFkYSBzaWRvIHJldmVsYWRhLCBzw7Mgc29icm91IGEgY29ycmV0YS4KICAgICAgICAgICAgICAgIEVTVEFUWzFdICs9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKERFQ0lTQU8gPT0gMCkgeyAgICAgLy9DYXNvIHRlbmhhIHNpZG8gZXNjb2xoaWRvIG1hbnRlciB0b2RhcyBhcyB2ZXplcy4KICAgICAgICAgICAgaWYgKEVTQyA9PSBDQVIgKSBFU1RBVFsxXSArPSAxOwogICAgICAgICAgICBlbHNlICBFU1RBVFsyXSArPSAxOwogICAgICAgIH0KICAgICAgICBOVU0tLTsKICAgICAgICBFU1RBVFswXSArPSAxOwogICAgfSB3aGlsZSAoTlVNID4gMCk7CiAgICBmbG9hdCBWSVQgPSAoRVNUQVRbMl0gLyByZXBldGljb2VzKSAqIDEwMDsgLy8gUG9yY2VudGFnZW0gZGUgdml0w7NyaWFzICAqRVJSTyoKICAgIGZsb2F0IERFUiA9IChFU1RBVFszXSAvIHJlcGV0aWNvZXMpICogMTAwOyAvLyBQb3JjZW50YWdlbSBkZSBkZXJyb3RhcyAgKkVSUk8qCiAgICAoREVDSVNBTyA9PSAxKSA/IHByaW50ZigiXG5cblxuXHRUcm9jYW5kbyBkZSBwb3J0YSB0b2RhcyBhcyB2ZXplczogXG5cbiIpIDogcHJpbnRmKCJcblxuXG5cdE1hbnRlbmRvIGEgcG9ydGEgdG9kYXMgYXMgdmV6ZXM6IFxuXG4iKTsKICAgIHByaW50ZigiTsO6bWVybyBkZSB0ZW50YXRpdmFzOiAlZFxuIiwgRVNUQVRbMF0pOwogICAgcHJpbnRmKCJOw7ptZXJvIGRlIHZpdMOzcmlhczogJWQsICVmJSUgZG8gdG90YWwuXG4iLCBFU1RBVFsxXSwgVklUKTsKICAgIHByaW50ZigiTsO6bWVybyBkZSBkZXJyb3RhczogJWQsICVmJSUgZG8gdG90YWwuIiwgRVNUQVRbMl0sIERFUik7Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzEwMDE3Ny8xMDE=