:请帮小弟我写一个产生随机数的函数,好吗

求助:各位大哥请帮我写一个产生随机数的函数,好吗?
请教:
是这样的,我需要生产 16 个随机数字
0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15

他们这 15个数的顺序是随机的
把这 15 个随机数放到 myrand[16] 里

谢谢!

------解决方案--------------------
#include<time.h>
#include<stdlib.h>
#include<stdio.h>
int myrand[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
void main()
{
int a;
srand((unsigned)time(NULL));
a = myrand[rand()%16];//确保a 在1--15
printf("%d\n",a);
}

------解决方案--------------------
C/C++ code

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

void GetRand(int s[], int size);
void swap(int *a, int *b);
void output(int s[], int size);

int main()
{
    srand( (unsigned)time( NULL ) );
    int s[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
    GetRand(s, 16);
    output(s, 16);
    return 0;
}

void GetRand(int s[], int size)
{
    int i;
    for(i=0; i<size; i++) //打乱顺序,1次若不理想,可增加次数
    {
        swap(&s[i], &s[rand()%size]);
    }
}

void swap(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

void output(int s[], int size)
{
    int i;
    for(i=0; i<size; i++)
    {
        printf("%d  ", s[i]);
    }
    printf("\n\n");
}

------解决方案--------------------
自带的不好么?
------解决方案--------------------
种子不同,产生的随机数就不同吗?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

是的。若种子相同,则会产生相同的随机数。rand()特意设计成这样,是为了方便程序的调试。
------解决方案--------------------
你好像是想得到1-16的一个乱序排列? stl里面有现成的算法random_shuffle