📄 cp.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
void sp(int results[],int n); //洗牌函数
void main()
{
int results[100];//用于保存随机数
int i=0,j,n,e,t;
srand((int)time(0));//设定种子
printf("input n(n<100):");
scanf("%d",&n);//随机数个数
printf("input time:");
scanf("%d",&t);//洗牌次数
for(i=0;i<n;i++)
results[i]=0;
for(i=0;i<n;i++)
{
e=rand()%n+1;
for(j=0;j<i;j++)
if(results[j]==e) break;
if(i==j)results[i]=e;
else i--;
}
for(i=0;i<t;i++)
{
sp(results,n);
}
for(i=0;i<n;i++)
{
printf("%d ",results[i]);//输出随机数
}
}
void sp(int results[],int n)//洗牌函数
{
int e,i,j,l[100],r[100];
do{e=rand()%n+1;}
while(e==n);//取小于n的随机数
if(e>n/2) e=n-e;
for(i=0;i<e;i++)
{
l[i]=results[n-e+i];//左一摞
}
for(i=0;i<n-e;i++)
{
r[i]=results[i];//右一摞
}
for(i=0,j=0;i<n;i++,j++)//整合在一起
{
if(j<e)
{results[i]=l[j];i++;}
results[i]=r[j];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -