digies
Registrado: 18 Nov 2005 Mensajes: 241 Ubicación: Cono Sur
| Publicado: 27/08/2007 2:24 pm | | | Título: |
| Hola
Mira esto:
| Código: | #include <stdio.h> #include <stdlib.h> #include <time.h>
int main(void) { float a; srand(time(NULL)); /* Toma un número a partir de la fecha y hora actual. Varía en cada centésima de segundo. La semilla se toma del reloj del sistema. */ printf("Numero aleatorio entre 0 y 1: %.2f\n\n", a=rand()%2); system("PAUSE"); return 0; }
|
El problema con este código es que, si bien la parte entera te generará aleatoriamente en el intérvalo [0; 1], la parte decimal -con dos posiciones decimales- NO, siempre será 00. Lo que podrías hacer es crear otra variable que te genere aleatoriamente la parte decimal y luego, mediante las funciones de manejo de cadenas, concatenas los dos resultados. Bueno, esta es una de las opciones claro.
Otra manera sería algo así:
| Código: | #include <stdio.h> #include <stdlib.h> #include <time.h>
int main(void) { int a,b; srand(time(NULL)); printf("Numero aleatorio entre 0 y 1: %d.%d\n\n", a=rand()%2, b=rand()%10); system("PAUSE"); return 0; }
|
Un saludo. |
|