"百条C语言经典源码程序.doc:生成3位无重复数字程序"

0 下载量 31 浏览量 更新于2024-01-20 1 收藏 258KB DOC 举报
百条C语言经典源码程序.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!=k && i!=j && j!=k) { printf("%d%d%d ",i, j, k); } } } } printf("\n"); return 0; } ``` 分析该程序的源代码,可以看到有三个循环:外层循环用于控制百位数字,取值范围是1到4;中层循环用于控制十位数字,取值范围也是1到4;内层循环用于控制个位数字,取值范围仍然是1到4。 在每一次循环中,通过使用条件判断语句`if (i!=k && i!=j && j!=k)`来筛选出互不相同且无重复数字的三位数。若满足条件,则通过调用`printf`函数打印出该三位数。 最终的输出结果是所有符合条件的三位数,以空格隔开。该程序的结果为: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语言程序示例,通过使用嵌套循环和条件判断,实现了生成并打印出互不相同且无重复数字的三位数的功能。程序简洁高效,符合C语言的语法和编程风格。