随机数生成原理及代码模拟

  • 计算机生成随机数逻辑:伪随机(计算机随机取一点,固定在点周围取数)
  • 解决方法:加入时间函数<time.h>,让时间函数控制取点

例题:随机 生成一列数,用最快的时间找出最大和第二大的数输出

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main()
{
    
    
    srand((unsigned)time(NULL));	//时间函数,注意点:1.需要强制转换成无符号型 2.返回一个空指针NULL
    int i; 
                                            
    int max = 0;
    int max2 = 0;
    int a[10] = {
    
    0};
    
    for (i = 0; i < 10; i++)
    {
    
    
        a[i] = rand() % 100;		//生成一个100以内随机数的算法
        
        if (a[i] > max)
        {
    
    
            max2 = max;
            max = a[i];
        }
        if (a[i] > max2 && a[i] < max)
        {
    
    
            max2 = a[i];
        }
    }
    for (i = 0; i < 10; i++)
    {
    
    
        printf("%d\n", a[i]);
    }
    printf("max = %d\n", max);
    printf("max2 = %d\n", max2);
    
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_45792897/article/details/115387275
今日推荐