C语言中用#include<time.h>的头文件,srand((unsigned)time(NULL)),如何产生随机小数?

如题所述

这个应该符合你的要求了:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

double rnd(void)
{
static int fg=1;
int rd;
if (fg) {
srand(time(NULL));
fg=0;
}

return (double)(rand()%900+100)/100;
}

int main(void)
{
int i;
for (i = 0; i < 10; i++) //输出10个[1.00,10.00]区间内的小数
printf("%.2f\n",rnd());
return 0;
}

运行结果:
6.71
8.54
7.80
3.07
4.24
2.13
3.34
7.84
2.06
4.70
Press any key to continue
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-25
得到整数后再转化成浮点数,最后除以10、100或1000即可。
编程要学会变通,模板函数不可能考虑所有可能的,不然还用你来写代码编程干什么。

C语言中用#include<time.h>的头文件,srand((unsigned)time(NULL)),如 ...
所以一般srand的参数用time(null),因为系统的时间一直在变,所以,rand()获得的数,也就一直在变,相当于是随机数了```

C语言中用#include<time.h>的头文件,srand((unsigned)time(NULL)),如 ...
这个应该符合你的要求了:include <stdio.h> include <stdlib.h> include <time.h> double rnd(void){ static int fg=1;int rd;if (fg) { srand(time(NULL));fg=0;} return (double)(rand()%900+100)\/100;} int main(void){ int i;for (i = 0; i < 10; i++) \/\/输出10个...

c语言如何产生随机小数的数据?
include <time.h> int main() { float random_num;srand(time(NULL)); \/\/ 以当前时间作为随机数种子 random_num = (float)rand() \/ RAND_MAX; \/\/ 生成0~1之间的随机小数 printf("Random number: %f", random_num);return 0;}

用C语言编写一个可以产生1~99随机数的函数
可以使用C语言标准库中的srand()和rand()来生成随机数,同时要生成1~99之间的随机数,只需要将生成的随机数与99整除,取其余数+1即可保证所有产生的随机数在[1,99]的区间之内。示例代码如下:include<stdio.h>#include<stdlib.h>#include<time.h>int main(){int a,i;srand((unsigned)time(NULL...

c语言srand time null 怎么用
这是产生随机数的函数 头文件#include<time.h> #include<stdlib.h> srand(time(null))产生随机数种子,后面的伪随机数将根据这个种子产生。rand()产生一个随机整数,范围是0-RAND_MAX RAND_MAX是stdlib.h中定义的,其大小与系统有关,一般是32767,具体你可以自己输出下看看 ...

srand((unsigned)time(NULL));在c语言中有什么具体的意思吗?
include <time.h>\/\/time();include <conio.h> define N 50 int main(){ int n;srand((unsigned)time(NULL));\/\/设置随机数种子 while (1){ n = (rand() % 10) + 1 ;\/\/产生1~10的随机数 \/\/rand()产生的是一个很大的数,对其求余就可以达到限定范围的目的 printf("%d ", n);...

在c语言中怎样随机给变量赋值?
include “time.h” \/*需引用的头文件*\/ srand((unsigned)time(NULL)); \/*随机种子*\/ n=rand()%(Y-X+1)+X; \/*n为X~Y之间的随机数*\/ int rand(void)函数int rand( void );返回的是一个界于0~32767(0x7FFF)之间的伪随机数,包括0和32767。C预先生成一组随机数,每次调用随机函数...

c语言srand time null 怎么用
这是产生随机数的函数 头文件#include<time.h> include<stdlib.h> srand(time(null))产生随机数种子,后面的伪随机数将根据这个种子产生。rand()产生一个随机整数,范围是0-RAND_MAX RAND_MAX是stdlib.h中定义的,其大小与系统有关,一般是32767,具体你可以自己输出下看看 ...

C语言问题,怎样利用系统时间作为随机数的种子?
C语言中,设置随机数种子需要包含头文件stdlib.h,利用系统时间需要包含头文件time.h。设置随机数种子的函数原型为:void srand(unsigned int seed);利用系统时间作为随机数的种子代码如下:include <stdlib.h>#include <time.h>int main(){ srand((unsigned)time(NULL)); \/\/ 利用系统时间作为随机...

c语言怎么生成随机数?
include <stdio.h>#include<stdlib.h> \/\/生成随机数用 #include<time.h> \/\/利用时间生成种子 #include<math.h> int main(){ int i; int a[100]; srand( time(NULL) ); \/\/生成种子 for(i=0;i<100;i++) { a[i]=rand()%1000+1000; \/\/生成一个...

相似回答