Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Números aleatórios em double?

Como posso gerar números aleatórios entre 0 e 1? como 0.422, 0.856 etc? Ate o momento estou com o seguinte código, onde se deixo apenas "2" o valor que me retorna e sempre 000 e se deixar "2.0" não me deixa utilizar o %.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    int tempo = time(0);
    srand(tempo);
    int valor = rand() % 2.0;
    printf("%f", valor);
}
1 resposta
solução!

Oi Victor, tudo bem ?

O problema é que voce esta tentando gerar numero inteiros, seu codigo deve ficar assim:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main()
{
    int tempo = time(0);
    srand(tempo);
    double valor = ((double) rand() * 2) / ( double ) RAND_MAX;
    printf("%f", valor);
}

Espero ter ajudado :)