http://topic.csdn.net/t/20030612/19/1909031.html
//时间做种子
//初始化
randomize();
//结果数组
int ar1[100];
//取得元素个数(在1到100之间)
int arCount = StrToInt(Edit1->Text);
int iCount = 0;
for(int i=0;;i++)
{
int init = rand(); //取得一个随机数
//取得这个随机数的个位数
int result = int((init/(arCount+1*1.0)-init/(arCount+1))*(arCount+1)+0.5);
//如果这个数前面没出现过则取出来
int j;
for(j=0;j<iCount;j++)
{
if(result==ar1[j])
break;
}
if(j>=iCount&&result!=0)
ar1[iCount++] = result;
//如果达到元素数目则退出循环
if(iCount >= arCount)
break;
}