我想動態分配一個雙精度數組,並將每個元素設置爲正數或負數範圍內的一個隨機值,但我有困難。如何將rand()結果設置爲一定範圍內的值,包括負值?
現在,我只能弄清楚如何設置數字0 - 最大。
這是我到目前爲止有:
double *random_arr(int size, double min, double max) {
double *array0 = calloc(size, sizeof(double));
if (array0 == NULL) {
exit(1);
}
for (int i = 0; i < size; i++)
array0[i] = (max * rand()/RAND_MAX);
return array0;
}
我最好的猜測:
for (int i = 0; i < size; i++)
array0[i]=((max + min) * rand()/RAND_MAX) - min;