2 baidu 34031378 baidu_34031378 于 2016.03.11 13:50 提问

C语言关于随机数生成时间和与中间数的比较

#include
#include
#include

#define NCALLS 1000
#define NCOLS 8
#define NLINES 3

int main(void)
{
int i, val;
long begin, diff, end;
double median = RAND_MAX / 2, above_cnt=0, below_cnt=0, differences;

begin = time(NULL);
srand(time(NULL));
for (i = 1; i <=NCALLS; ++i) {
    val = rand();
    if (val < median) 
        below_cnt += 1;
    else if (val>median)
        above_cnt += 1;
    if (i <= NCOLS*NLINES) {
        printf("%7d", val);
        if (i%NCOLS == 0)
            printf("\n");
    }
    else if (i == NCOLS*NLINES + 1)
        printf("%7s\n\n", ".....");
}
end = time(NULL);
diff = end - begin;
differences = above_cnt - below_cnt;
printf("%s%ld\n%s%ld\n%s%ld\n%s%.10f\n%s%ld\n\n",
    "           end time:", end,
    "         begin time:", begin,
    "       elapsed time:", diff,
    " time for each call:", (double)diff / NCALLS,
    "        differences:",differences);

scanf_s("%d", &i);
return 0;

}

1个回答

wen_wxpk
wen_wxpk   2016.03.11 14:27

问题是啥?。。。。。。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言实验——找中间数
Problem Description 输入三个整数,找出其中的中间数。(这里的中间数指的是大小,不是位置。) Input 输入3个整数。 Output 输出中间数。 Example Input 1 2 3 Example Output 2 #include void main() {     int a,b,c;     scanf
201612 CCF 第一题 中间数
问题描述 试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中
C语言求三个数的中间值(三目运算符)
使用两种方式求中间数.一种是用三个数的和减去最大值和最小值,另一种是使用复杂的三目运算符
寻找中位数
编写一个函数返回三个整数中的中间数。 函数原型:int mid(int a, int b, int c),返回a,b,c三数中大小位于中间的一个数。 #include #include int mid(int a, int b, int c); int mid(int a, int b, int c) { int temp; if(a>b){ temp = a; a = b;
oj2011: C语言实验——找中间数
问题描述:输入三个整数,找出其中的中间数。(这里的中间数指的是大小,不是位置。) 作者;何知令 发表时间:2017年2月23日 输入:输入3个整数 输出:输出中间数 代码: /* 问题描述:输入三个整数,找出其中的中间数。(这里的中间数指的是大小,不是位置。) 作者;何知令 发表时间:2017年2月23日 输入:输入3个整数 输出:输出中间数 */ #include #include
C语言实验——找中间数 oj
C语言实验——找中间数Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description输入三个整数,找出其中的中间数。(这里的中间数指的是大小,不是位置。)Input输入3个整数。Output输出中间数。Example Input1 2 3Example Output2#include #include i
用srand时间数种子来生成随机数
没有废话直接上代码#include <iostream> #include <vector> #include <ctime> #include <iomanip> using namespace std;int main(){ srand(unsigned(time(0)));//时间种子 vector<int> ivec; int count = 0; for (i
C语言和java中生成随机数的原理和方法
C语言一.函数 1:int rand(void) 该函数会产生一个[0,RAND_MAX]的伪随机数,那什么是伪随机数? 相当于一个序列a1-an,第一次使用会返回a1, 第二次使用会返回a2….第n次返回an,这样每次调用rand()都能产生一个不同的数,只要整个序列的规律不明显,整个函数看起来就是随机的。 而这个序列是计算机通过调用srand((int)time(NULL))函数随机产生
C语言之实现随机数产生算法
随机数,也就是在不同的时刻产生不同的数值。在UNIX操作系统和window的操作系统上,我们知道有一个函数rand,它就是用来产生随机数的函数API接口,那么它的原理如何实现? 如果约定a1=f(seed),an+1=f(an),那么可以得到一个序列a1,a2,a3..an,那么要制作一个伪随机函数rand,只需要让它每调用一次就返回序列的下一个元素就行。其实就是相当于第1次调用rand返回a1
【学习笔记】C语言 随机数的生成原理分析和各类随机数公式
概论百度百科给出的随机数的定义是:“随机数是专门的随机试验的结果”。当我们需要完成一个类似于抽奖的程序时,我们往往会借助随机数来实现目标,但实际情况下,计算机只能给我们提供伪随机数。 所谓伪随机数,“是按照一定算法模拟产生的,其结果是确定的,是可见的”。计算机产生随机数的过程,是根据一个种子为基准,以某个递推公式推算出来的一系列数,当递推的范围足够大、往复性足够强、又符合正态分布或平均分布时,我们