【问题描述】有 a,b,c,d 四个正整数,计算组成多少个互不相同且无重复数字的三位数 【输入形式】四个int型整数 【输出形式】可以组成的数的个数 【样例输入】1 2 3 4 【样例输出】24 用C语言回答问题。
时间: 2024-11-25 16:10:52 浏览: 43
在C语言中,你可以通过嵌套循环和计数的方式来解决这个问题。首先,我们需要遍历每一位数,然后对于每一位,再从剩余的三个数中选择一个作为百位、十位或个位。由于每个位置都有4种选择(因为是四个不同的数),而一共有三个位置(百位、十位和个位),所以总的组合数是4^3。
下面是一个简单的C程序示例:
```c
#include <stdio.h>
int main() {
int a, b, c, d;
printf("请输入四个正整数:");
scanf("%d %d %d %d", &a, &b, &c, &d);
// 组合计数
int count = 0;
for (int i = 0; i <= 3; i++) { // 百位的选择
for (int j = 0; j <= 3; j++) { // 十位的选择
if (i != j) { // 防止与已选百位重复
for (int k = 0; k <= 3; k++) { // 个位的选择
if (j != k && i != k) { // 防止与已选十位和百位重复
count++;
}
}
}
}
}
printf("可以组成的三位数的个数是:%d\n", count);
return 0;
}
```
阅读全文