諸位大仙,近幾天上網(wǎng)不方便,我自己搞了個利用循環(huán)嵌套的,一看就太拉雜了慚愧啊。
等隨后再總結(jié)一下大家的方法,謝謝啦
以下我弄得代碼暫時以數(shù)字代替字母,當(dāng)排到12個數(shù)的時候就要算半個多小時了。
看來要排出26個字母真的不可行了。
////////////////////////////
#include <time.h>
#include <windows.h>
#include<stdio.h>
main()
{
 time_t t_start, t_current; 
 FILE * fp ; 
 fp=fopen("DATA.TXT","w");
 int a,b,c,d,e,f,g,h,i,j,k,l;
 const int num = 12 ; 
 fprintf(fp,"\n");
 t_start = time(NULL) ;
 for(a=1;a<=num;a++) 
 {//外層for
 if( 1 ) // num之1 
 fprintf(fp,"%d\n",a); 
for(b=1;b<=num;b++)
 {//2層for
 if( a<b ) // num之2 
 fprintf(fp,"%d,%d\n",a,b); 
for (c=1;c<=num;c++)
 {//3層for 
 if( a<b && b<c ) // num之3 
 fprintf(fp,"%d,%d,%d\n",a,b,c);
 for (d=1;d<=num;d++)
 {//4層for
 if( a<b && b<c && c<d ) // num之4 
 fprintf(fp,"%d,%d,%d,%d\n",a,b,c,d); /////////計算完成百分比和時間//////////
t_current = time(NULL) ;
 printf("已用時%.0f秒,完成%2.1f%%\r", difftime(t_current,t_start),(float)a/num * 100 - 0.1 );
////////////////////////////////////// for (e=1;e<=num;e++)
 {//5層for
 if( a<b && b<c && c<d && d<e ) // num之5 
 fprintf(fp,"%d,%d,%d,%d,%d\n",a,b,c,d,e);
 for (f=1;f<=num;f++)
 {//6層for
 if( a<b && b<c && c<d && d<e && e<f ) // num之6 
 fprintf(fp,"%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f); 
for (g=1;g<=num;g++)
 {//7層for
 if( a<b && b<c && c<d && d<e && e<f && f<g ) // num之7 
 fprintf(fp,"%d,%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f,g);
 for (h=1;h<=num;h++)
 {//8層for
 if( a<b && b<c && c<d && d<e && e<f && f<g && g<h ) // num之8 
 fprintf(fp,"%d,%d,%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f,g,h); 
for (i=1;i<=num;i++)
 {//9層for
 if( a<b && b<c && c<d && d<e && e<f && f<g && g<h && h<i ) // num之9 
 fprintf(fp,"%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f,g,h,i); 
for (j=1;j<=num;j++)
 {//10層for
 if( a<b && b<c && c<d && d<e && e<f && f<g && g<h && h<i && i<j ) // num之10 
 fprintf(fp,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f,g,h,i,j);
 for (k=1;k<=num;k++)
 {//11層for
 if( a<b && b<c && c<d && d<e && e<f && f<g && g<h && h<i && i<j && j<k ) // num之11 
 fprintf(fp,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f,g,h,i,j,k); }//11層for
 }//10層for
 }//9層for
 }//8層for
 }//7層for
 }//6層for
 }//5層for
 }//4層for
 }//3層for
 }//2層for
 }//外層for 
printf("計算全部完成,總計用時%.0f秒。\n", difftime(t_current,t_start));
 printf("結(jié)果保存在程序所在目錄之下。\n");
} 
