1.题目及程序
//
// main.c
// execrise1
//
// Created by GRL on 15/9/14.
// Copyright (c) 2015年 mm. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[]) {
/**
1. 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。)---24个
**/
int numbers[10000];//存放可能的数字,最后会去掉相同的数字
int index=0;
int a[4]={1,2,3,4};//百位
int b[4]={1,2,3,4};//十位
int c[4]={1,2,3,4};//个位
// 产生个,十,百位数字不同的数
for (int i=0; i<4; i++) {
for (int j=0; j<4; j++) {
for (int r=0; r<4; r++) {
if (i!=j && j!=r && i!=r) {
numbers[index]=a[i]*100+b[j]*10+c[r];
printf("numbers[%d]=%d\n",index,numbers[index]);
index++;
}
}
}
}
return 0;
}