#include
#include
#include
//生成[x,y]的均匀整数。
int rands(int x,int y){
// 不要用%这样得到的数值分布不均匀!!!!
int ret=((double)rand()/RAND_MAX)*(y-x)+x;
return ret;
}
const int n=500;
int main()
{
int sum=0,i;
//time的返回值本来就是time_t,也就是unsigned的。
//不需要强制转换。
srand(time(0));
for(i=1;i<=n;i++){
int ran=rands(20,1000);
sum+=ran;//求和
}
printf("%lf",(double)sum/n);
return 0;
}
//LS得到的结果约为506,但真正均匀情况下应该是510,上面的程序结果约为509.5
#include
#include
#include
#define N 500
int main()
{
int i, x;
double sum = 0;
srand((unsigned)time(0));
for(i = 0; i < N; ++i)
sum += (rand()%(1000-20+1) + 20);
printf("%lf\n", sum/N);
return 0;
}
a=fix(rand(1,20)*100);%产生20个随机数,因为产生的随机数是与小数形式产生的,乘于100后就是带有两个小数的两位数,在求整,就达到要求了
sum=0;
h=1;
for
i=1:20
sum=sum+a(i);%求20个数的和
end
b=sum/20;%求平均值
%一下是求出小于平均值的奇数
for
i=1:20
if
(a(i)
c(h)=a(i);
h=h+1;
end
end
c