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语言求组合数的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)