随机函数几次输出相同的问题

img


#define _CRT_SECURE_NO_WARNINGS 1
#include
#include

int main()
{
    int a[5][10];
    int i, j;
    int sum = 0;
    printf("随机生成的原数组:\n");
    for (i = 0; i < 5; i++)                   /*求原数组*/
        for (j = 0; j < 10; j++)
        {
            a[i][j] = (rand() % 256);
        }
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 10; j++)
        {
            printf("%d\t", a[i][j]);
        }
        printf("\n");
    }
    printf("变换过的数组:\n");
    for (i = 0; i < 5; i++)                        /*求变换过的数组*/
    {
        for (j = 0; j < 10; j += 2)
        {
            printf("%d\t", a[i][j]);
        }
        printf("\n");
    }
    /*求数组的和*/
    for (i = 0; i < 5; i++)
        for (j = 0; j < 10; j += 2)
        {
            sum = sum + a[i][j];
        }
    printf("和 : %d\n", sum);
    double ave = sum / 25;
    printf("平均值 : %.1f\n", ave);
    /*求每行最大值*/
    int max;
    printf("每行元素的最大值:\n");
    for (i = 0; i < 5; i++)
    {
        max = a[0][0];     //将max重置,防止输出的值重复
        for (j = 0; j < 10; j += 2)
        {
            if (a[i][j] >= max)
                max = a[i][j];
        }
        printf("%d\t", max);
    }

}



试了几次,怎么几次都是一样的啊?

使用 srand((unsigned)time(NULL)); 设置个随机种子