第1个回答 2013-11-15
#include<stdio.h>
main()
{
int i, j, k;
int m=0;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
for(k=1;k<10;k++)
{
if(i!=j&&k!=j&&i!=k)
{
printf("%d%d%d\n",i,j,k);
m++;
}
}
printf("%d\n",m);
getch();
}
第2个回答 2013-11-15
//假装每个数字只能用一次
#define N 4
char c[1000];
char n[N];
void find(int l, int r, int p){
if (l == N && !c[r] && r >= 100){
printf("%d\n", r);
c[r] = 1;
return;
}
while (;p < n;)
find(l + 1, r * 10 + n[p], ++p);
}
int main(){
int i;
printf("input four digits\n");
for (i = 4; i--;)
scanf("%d", &n[i]);
find(0, 0, 0);
return 0;
}本回答被网友采纳