"C经典程序1-100: 互不相同且无重复数字的三位数有多少个?"

需积分: 0 1 下载量 83 浏览量 更新于2024-01-12 1 收藏 149KB DOC 举报
"有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?" 这个问题的解决方法是通过使用C编程语言的循环和条件语句来生成所有满足条件的三位数。 首先,我们使用三重嵌套的循环来生成所有可能的三位数。外层循环变量i代表百位上的数字,取值范围是1到4,内层循环变量j代表十位上的数字,取值范围也是1到4,最内层循环变量k代表个位上的数字,取值范围同样是1到4。 在循环中,我们使用条件语句来判断生成的三位数是否满足条件。我们要求三位数中的数字互不相同且无重复,因此使用if语句来判断i、j、k三个变量是否两两不相等。 当i、j、k都满足条件时,我们打印出这个满足条件的三位数。在打印之前,我们可以使用一个计数器来统计满足条件的三位数的个数。 最后,我们将整个程序放在一个main函数中,并使用printf函数打印出满足条件的三位数的总数。 下面是完整的程序源代码: ```c #include <stdio.h> int main() { int i, j, k; int count = 0; 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) { // 判断三个数字是否互不相同 count++; printf("%d%d%d\n", i, j, k); // 打印满足条件的三位数 } } } } printf("总共有%d个互不相同且无重复数字的三位数。\n", count); return 0; } ``` 通过运行上述程序,我们可以得到所有满足条件的三位数,并且得到总共满足条件的三位数的个数。