C语言 经典例题100道1涵盖经典C源程序100题,解密有序数字的排列可能。

1 下载量 158 浏览量 更新于2024-01-19 2 收藏 106KB DOC 举报
经典C语言例题"有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?" 1. 程序分析: 可填在百位、十位、个位的数字都是 1、2、3、4。需要组成所有的排列,然后去掉不满足条件的排列。 2. 程序源代码: ```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 != k && i != j && j != k) { printf("%d%d%d\n", i, j, k); } } } } return 0; } ``` 3. 程序解释: - 我们需要使用三层循环来遍历所有可能的组合。 - 外层循环控制百位数,从 1 到 4。 - 中间循环控制十位数,从 1 到 4。 - 内层循环控制个位数,从 1 到 4。 - 在每个迭代中,我们可以得到一个三位数。 - 我们使用 if 语句来判断三个数字是否互不相同。 - 如果三个数字满足条件,我们打印该三位数。 4. 程序运行输出: ``` 123 124 132 134 142 143 213 214 231 234 241 243 312 314 321 324 341 342 412 413 421 423 431 432 ``` 以上是一个经典的C语言例题,该题考察了基础的循环和条件判断的使用。通过使用三重循环,我们可以找到由 1、2、3、4 组成的互不相同且无重复数字的三位数,共有 24 个。该例题可以帮助初学者巩固基本的编程思路和语法知识,对理解循环和条件判断具有一定的帮助。同时,也能锻炼分析问题和解决问题的能力。