《经典C语言编程100例:互不相同的三位数排列》

需积分: 0 1 下载量 10 浏览量 更新于2024-01-17 收藏 224KB DOC 举报
该程序是一个经典的C语言编程例题,题目要求计算由1、2、3、4组成的互不相同且无重复数字的三位数有多少个以及具体是哪些数字。 程序的分析部分指出,百位、十位、个位的数字都可以取1、2、3、4中的任意一个,因此可以通过三重循环来枚举所有的可能性,并在循环的过程中去除不满足条件的排列。 程序的源代码如下: ```c #include <stdio.h> int main() { int i, j, k; printf("\n"); for (i = 1; i < 5; i++) { // 百位的数字 for (j = 1; j < 5; j++) { // 十位的数字 for (k = 1; k < 5; k++) { // 个位的数字 if (i != j && j != k && i != k) { // 判断三个数字是否互不相同 printf("%d%d%d\n", i, j, k); // 输出符合条件的三位数 } } } } return 0; } ``` 运行该程序,可以得到所有满足条件的三位数。根据循环的特点,我们可以得到以下的结果: ```plaintext 123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432 ``` 该程序总共输出了24个满足条件的三位数,其中每个数字都只出现了一次。这些数字中,每个位上的数字都由1、2、3、4中的某一个组成,并且互不相同。 通过这个例题,我们可以加深对C语言循环和条件判断的理解,以及如何用C语言进行简单的数值计算。这些基础的编程知识在日后的编程开发中都会有广泛的应用。