Я хотел бы создать случайное вещественное число в интервале [0,1]. Я хотел бы установить указатель, скажем n
, для номера, поэтому всякий раз, когда я указывал n
, он будет отнесен к произвольно сгенерированному номеру.Создание случайного, равномерно распределенного действительного числа в C
Я искал StackOverflow и в Google, но большинство из них предназначено для C++ или для целых чисел.
Я попробовал этот код предложил мне в ответ:
#include <stdio.h>
#include <stdlib.h>
int main()
{
double n;
double get_random() { return (double)rand()/(double)RAND_MAX; }
n = get_random();
printf("%f", n);
return 0;
}
Однако, я могу получить только значение 0.00000000.
Как я могу исправить свою программу?
ли жалуются на ваш компилятор при попытке '' printf' без знака int' с помощью '% f'? Возможно, вы хотели объявить 'r' как' double'. – e0k
Ваш цикл 'while' неэффективен, так как' y = RAND_MAX + 1' возвращаемое значение из 'rand' всегда будет'
Не могли бы вы рассказать о том, что вы подразумеваете под «Я хотел бы установить указатель, скажем n, для числа, поэтому всякий раз, когда я указывал n, он будет отнесен к произвольно сгенерированному числу»? Как это не просто простое назначение указателя? – e0k