如何用excel把1-32列,随机乱序排列

如何用excel把1-32列,随机乱序排列,第1张

我晕。。。A1-A32 是32行数据吧?

且不管它是行是列,原理都一样,需要增加一辅助行或列,里面用随机函数 Rand()取值,然后按这个行或列排序,就行了。

=======

Sub bbb()

Dim a As Integer

Dim b As Integer

Dim c As Integer

a = WorksheetFunction.CountA(Range("a1:a32"))

c = 1

Do While c <= a

b = Int(Rnd * a) + 1

If Cells(b, 1).Value <>"" Then

Cells(b, 1).Select

Selection.Copy '此处改一下,原是剪切,改为复制。

Cells(c, 3).Select

ActiveSheet.Paste

c = c + 1

Else

End If

Loop

End Sub

#include<stdio.h>

int main()

{

int xx=0

int a[8]={1,3,9,6,10,4,28,51}

int i,j,k,l,m,n,x,y

for(i=0i<8i++)

for(j=0j<8j++)

if(j!=i)

for(k=0k<8k++)

if((k!=i)&&(k!=j))

for(l=0l<8l++)

if((l!=i)&&(l!=j)&&(l!=k))

for(m=0m<8m++)

if((m!=i)&&(m!=j)&&(m!=k)&&(m!=l))

for(n=0n<8n++)

if((n!=i)&&(n!=j)&&(n!=k)&&(n!=l)&&(n!=m))

for(x=0x<8x++)

if((x!=i)&&(x!=j)&&(x!=k)&&(x!=l)&&(x!=m)&&(x!=n))

for(y=0y<8y++)

if((y!=i)&&(y!=j)&&(y!=k)&&(y!=l)&&(y!=m)&&(y!=n)&&(y!=x))

{

xx++

printf("%d %d %d %d %d %d %d %d\n",a[i],a[j],a[k],a[l],a[m],a[n],a[x],a[y])

}

printf("%d\n",xx)

}

方法其实很简单,多动脑多写

你看这样行不!经测试可以随机读取数据

int n = 10

List<Integer>list1 = Arrays.asList(0,1,2,3,4,5,6,7,8,9)

List list2 = new ArrayList(){}

for (int j = 0j <list1.size()j++) {

list2.add(list1.get(j))

}

if (n >list2.size()) {

System.out.println("out of size")

} else {

for (int i = 0i <ni++) {

int num = (int)(Math.random()*list2.size())

System.out.println(list2.get(num))

list2.remove(num)

}

}

多次执行的结果不同


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7890133.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存