如何写C语言提取随机数
生成1-10随机数程序:
# include & ltiostream & gt
# include & lttime.h & gt
使用命名空间std
int main()
{
const int n = 10;//定义随机数的个数
int number[n]= { NULL };//定义用于存储随机数的数组。
srand((无符号)时间(空));//初始化随机函数
number[0]= rand()% n;//第一个随机数不用比较。
cout & lt& ltnumber[0]& lt;& lt" ";
for(int I = 1;我& ltn;I++)//其余随机数循环生成。
{
int j = 0;
number[I]= rand()% n;//生成随机数
while (1)
{
If (number[i] == number[j])//如果相同,继续循环重新排列随机数。
{
number[I]= rand()% n;//生成随机数
j = 0;//如果遇到同样的,从头遍历。
继续;
}
If (j == (i-1))//如果遍历完毕,则跳出。
打破;
j++;
}
cout & lt& lt数字[I]& lt;& lt" ";
}
cout & lt& ltendl
返回0;
}
程序运行结果如下:
扩展数据:
用向量输出随机数;
# include & ltiostream & gt
# include & ltvector & gt
# include & lttime.h & gt
使用命名空间std
int main()
{
const int n = 10;
int randnum
向量& ltint & gt号码;
for(int I = 0;我& ltn;i++)
{
number . push _ back(I+1);//从尾部添加元素
cout & lt& lt数字[I]& lt;& lt" ";
}
cout & lt& ltendl
srand((无符号)时间(空));
for(int j = 0;j & ltn;j++)?//其余随机数循环生成。
{
rand num = rand()%(n-j);//rand函数产生的随机数是0-(n-1)。
cout & lt& ltnumber . at(randnum)& lt;& lt" ";
number . erase(number . begin()+randnum);
}
cout & lt& ltendl
返回0;
}