用1,2,3,4,5,6;这6个数组成一个等边三角形如:
1
2 6
3 4 5
要求三边的和相等;我写的程序如下:
#include
#include
#define bian 3
#define bian2 3
#define zsu 6
int a,b,c,d,e,f;
void main()
{
int *sz1[]={&a,&b,&c,&d,&e,&f};
int *sz2[bian][bian2]={&a,&b,&c,&c,&d,&e,&e,&f,&a};
int huo[bian];
int i,j,t;
for(i=0;i<6;i++)
*sz1[i]=i+1; //将a,b,c,d,e,f,置初始值
while(1)
{
for(i=0;i {
for(j=1;j *sz2[i][0]+=*sz2[i][j];
huo[i]=*sz2[i][0];
}
for(i=0;i { int bj=1;
if(huo[i]!=huo[i+1]){bj==0;break;}
else if(bj==1)
for(i=0;i cout<<*sz1[i]<<" ";
}
for(j=zsu-1;j>0;j--)
if(*sz1[j]>*sz1[j-1])break;
if(j==0)break;
for(i=zsu-1;i>=j;i++)
if(*sz1[i]>*sz1[j-1])break;
t=*sz1[i];*sz1[i]=*sz1[j-1];*sz1[j-1]=t;
for(i=zsu-1;i>j;i--,j++)
{t=*sz1[j];*sz1[j]=*sz1[i];*sz1[i]=t;}
}
system("pause");
}
--------------------next---------------------
阅读(923) | 评论(0) | 转发(0) |