VB中,有1-39个数字,任意随机选择其中某些数字(数量不限)然后两两组合,请问用VB该怎么写程序

VB中,有1-39个数字,任意随机选择其中某些数字(数量不限)然后两两组合,请问用VB该怎么写程序,第1张

Dim a() As Integer

Dim d() As String

Private Sub Command1_Click()

Picture1Cls '清空picturebox

Dim b, c, i, j As Integer

For i = 0 To 38

If Check1(i)Value = 1 Then

ReDim Preserve a(b)

a(b) = i + 1

b = b + 1

End If

Next

For i = 0 To b - 2

For j = i + 1 To b - 1

Picture1Print a(i) & Chr(38) & a(j) & " "; '输出到picturebox

ReDim Preserve d(c)

d(c) = a(i) & " " & a(j) '保存到数组,待用

c = c + 1

If c Mod 5 = 0 Then '换行,五个一行

Picture1Print

End If

Next

Next

End Sub

测试可用,附上测试工程

3个的 要写多个的也可以改

#include <stdioh>

#include "stringh"

main()

{

int i,j,k,nLen,count=0;

char a3="\0";

gets(a);

nLen = strlen(a);

for (i=0;i<nLen;i++)

{

for (j=0;j<nLen;j++)

{

for (k=0;k<nLen;k++)

{

printf("%c%c%c ",ai,aj,ak);

count++;

if (count%9==0)

{

printf("\n");

}

}

}

}

}

这是由于阶乘数很大。在计算的中间过程,int类型溢出了。

可以把

int xjc = 1, yjc = 1,zjc = 1;

改为

double xjc = 1, yjc = 1,zjc = 1;

void nn(char c,char cc[])

{//对于有重复的数据这就不行了

//虽然可以都列出来,中间有重复的可能

char tmp,qc;

if(c=='#')printf("%s",cc);

else {

for(qc=c;qc!='#';qc++){

tmp=c;

c=qc;

qc=tmp;

cc++;

nn(qc,cc);

cc--;

tmp=c;

c=qc;

qc=tmp;

}

}

}

main()

{

char cc[100];//请以#结束

scanf("%s",&cc);

nn(cc,cc);

}

以上就是关于VB中,有1-39个数字,任意随机选择其中某些数字(数量不限)然后两两组合,请问用VB该怎么写程序全部的内容,包括:VB中,有1-39个数字,任意随机选择其中某些数字(数量不限)然后两两组合,请问用VB该怎么写程序、跪求一个C语言程序,实现功能:任意输入3个数,求出全部的组合。如365,全部组合有27种、一个C语言求组合数的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10114750.html

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

发表评论

登录后才能评论

评论列表(0条)

保存