[c]代码库
#include <stdio.h>
#define SIDE_N 3
#define LENGTH 3
#define VARIABLES 6
int A,B,C,D,E,F;
int *pt[]={&A,&B,&C,&D,&E,&F};
int *side[SIDE_N][LENGTH]={&A,&B,&C,
&C,&D,&E,
&E,&F,&A
};
int side_total[SIDE_N];
main() {
int i,j,t,equal;
for ( j=0; j<VARIABLES; j++ )
*pt[j]=j+1; /*初始化排列 1,2,3.....*/
while ( 1 ) {
for ( i=0; i<SIDE_N; i++ ) {
for ( t=j=0; j<LENGTH; j++ )
t+=*side[i][j];
side_total[i]=t;
}
for ( equal=1,i=0; equal && i<SIDE_N-1; i++ )
if ( side_total[i]!=side_total[i+1] ) equal=0;
if ( equal ) {
for ( i=0; i<VARIABLES; i++ )
printf ( "%4d",*pt[i] );
printf ( "\n" );
scanf ( "%*c" );
}
for ( j=VARIABLES-1; j>0; j-- )
if ( *pt[j]>*pt[j-1] ) break;
if ( j==0 ) break;
for ( i=VARIABLES-1; i>=j; i-- )
if ( *pt[i]>*pt[j-1] ) break;
t=*pt[j-1];
*pt[j-1]=*pt[i];
*pt[i]=t;
for ( i=VARIABLES-1; i>j; i--,j++ ) {
t=*pt[j];
*pt[j]=*pt[i];
*pt[i]=t;
}
}
}
初级程序员
by: karlseth 发表于:2013-03-11 16:36:36 顶(1) | 踩(0) 回复
给多点注释把哥哥,这样就算很短的代码看着也很累啊
回复评论