6个数字,产生3个数字的组合编程?

来源:百度知道 编辑:UC知道 时间:2024/05/27 13:40:16
大家好,我有6个若干数要产生,3个数字的组合,应该如何编写程序?

如 a[5]={9,5,1,7,0,3}

产生六个数组,为这六个数字!!

我要产生三个数字的组合能产生多少个?

如 951 957 950...一直产生落去,输出产生的组合值,直至不能重复,全部合产生完毕为止!!!

可以用c++ Java 或者VB 或者其他任何相关语语编写

#include <math.h>
#include <stdio.h>

fun()
{
int i,j,k;
char s[]={'9','5','1','7','0','3'};
char tmp[4], a[4];
for(i=0;i<5;i++)
for(j=0;j<5;j++)
for(k=0;k<5;k++){
a[0]=s[i],a[1]=s[j],a[2]=s[k];
if(a[i]!=a[j] && a[i]!=a[k] && a[j]!=a[k]){
tmp[0]=a[0],tmp[1]=a[1],tmp[2]=a[2],tmp[3]=0;
printf("%s\n",tmp);
}
}
}

void main()
{
fun();
}

For i = 0 To 5
如已有:
a(0) = 9
a(1) = 5
a(2) = 1
a(3) = 7
a(4) = 0
a(5) = 3
因为数组中数值不重复,那么进行全排列即可。
For j = 0 To 5
For k = 0 To 5
Text1.Text = Text1.Text & Trim(Str(a(i))) & Trim(Str(a(j))) & Trim(Str(a((k)))) & " "
Next
Text1.Text = Text1.Text & vbCrLf
Next
Next
End Sub

得到答案为:
999 995 991 997