[用C语言写】现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位

[用C语言写】现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。

第1个回答  2014-04-07
#include<stdio.h>#include<stdlib.h>#defineMAX_N100//最多100行intcmp_fun(constvoid*a,constvoid*b){return*(int*)a-*(int*)b;}intmain(void){intn,i,j,k,l,m,ct=0;inta[4][MAX_N];scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++)qsort((void*)&a[n],4,sizeof(int),cmp_fun);for(i=0;i<n;i++)for(j=0;j<4;j++)for(k=0;k<4;k++)for(l=0;l<4;l++)for(m=0;m<4;m++)if(j!=k&&j!=l&&j!=m&&k!=l&&k!=m&&l!=m){printf("%d%d%d%d",a[i][j],a[i][k],a[i][l],a[i][m]);ct++;if(ct%6==0)printf("\n");}return0;}本回答被提问者采纳