欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将指定范围内不重复的随机数输到数组中———C语言函数小组件(1)

程序员文章站 2022-05-19 20:55:24
...

将指定范围内不重复的随机数输到数组中———C语言函数小组件(1)

提示:关于随机数与数组的函数小组件

##函数体

bool Rander(int rander[], int MaxLen, int Min, int Max)  //改造一个数组使其,有一组(不重复)随机数,需要time.h头文件
{                                                        //注:因为随机数不重复,所以随机数的取值范围不能小于数组最大长度 
	if((Max - Min) + 1 < MaxLen)                         //即: (Max - Min) + 1 > MaxLen
	return false;
	
    int temp, flag, i = 0;
    
	for(int i = 0; i < Max; i++)
		rander[i] = -1;
		
    srand((unsigned)time(NULL));
    
    while(i < MaxLen)
    {
        flag = 1;
        temp = rand() % (Max - Min + 1) + Min;  //随机数范围
        for (int j = 0; j < MaxLen; j++)
        {
            if (temp == rander[j])
            {
                flag = 0;
                break;
            }
        }
        if (flag == 1)
        {
            rander[i] = temp;
            i++;
        }
    }
    
    return true;
}

##测试

int main()
{
	
	int rander[4];
	Rander(rander, 4, 1, 4);
	for(int i = 0; i < 4; i++)
	{
		printf("%d", rander[i]);
	}

}

将指定范围内不重复的随机数输到数组中———C语言函数小组件(1)

上一篇: HDU6228

下一篇: 树的遍历