c语言中怎么产生一个0.3,0.4,0.5,……到0.9之间的随机数?
发布网友
发布时间:2023-08-10 22:27
我来回答
共5个回答
热心网友
时间:2024-12-02 18:52
void main( void )
{
srand( (unsigned)time( NULL ) );
float fRandom=((rand()%7)+3)/10.0;
printf( " %0.1f\n", fRandom);
system("pause");
}
rand()%7 产生 0 - 6 的随机数,
然后加 3 就是 3 - 9 的随机数,
再除10 就是 0.3 - 0.9 了
热心网友
时间:2024-12-02 18:52
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
srand(time(0));
float a[7]={0.3,0.4,0.5,0.6,0.7,0.8,0.9};
float t1,t2;
float temp;
for(i = 0;i < 1000; i++) //随机交换这个序列中两个位置的值,1000次
{
t1=1 + (float)(10 * (rand() / (RAND_MAX + 1.0)));
t2=1 + (float)(10 * (rand() / (RAND_MAX + 1.0)));
temp=a[t1];
a[t1]=a[t2]; //交换t1,t2的值
a[t2]=temp;
}
for(int i=0;i<10;i++) //打印结果
{
printf("%d ",a[i]);
}
return 0;
}
//没跑过,你自己运行下试试。t1=1 + (float)(10 * (rand() / (RAND_MAX + 1.0)));这一段是产生随机数的东西
热心网友
时间:2024-12-02 18:53
产生10个0.3~0.9之间的随机数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i;
float num[10];
srand((unsigned int)(time(NULL)));
for( i= 0;i<10;i++)
{
num[i] = rand()%7 + 3;
num[i] = num[i] / 10;
printf( "%.1f\n", num[i]);
}
return 0;
}
热心网友
时间:2024-12-02 18:53
#include <stdlib.h> //标准工具库,要用到其中的rand()
#include <stdio.h>
#include<conio.h>
#include <time.h> //时间库,要用到里面的时间来做随机数的种子
int main()
{
int r;
float sz[7]={0.3,0.4,0.5,0.6,0.7,0.8,0.9};
srand(time(NULL));
r=rand()%7;
printf("%.1f\n",sz[r]);
return 0;
}
热心网友
时间:2024-12-02 18:54
先产生3-9之间的整数
再除以10