编写c语言程序,有1、2、3、4个数字,这4个个位数字能组成多少个互不相同且无重复数字的三位数?都是多少?将结果保存到loop2.txt中。
时间: 2023-05-30 15:07:32 浏览: 172
```c
#include <stdio.h>
int main()
{
int i, j, k, n = 0;
FILE *fp;
fp = fopen("loop2.txt", "w");
for(i = 1; i <= 4; i++)
{
for(j = 1; j <= 4; j++)
{
if(j == i)
continue;
for(k = 1; k <= 4; k++)
{
if(k == i || k == j)
continue;
fprintf(fp, "%d%d%d\n", i, j, k);
n++;
}
}
}
fclose(fp);
printf("共有%d个互不相同且无重复数字的三位数\n", n);
return 0;
}
```
相关问题
用c语言编写有13579五个数,能组成多少个互不相同且无重复数字的三位数
题目中给出了五个数:1、3、5、7、9,要求从这五个数中选出三个数,组成互不相同的三位数。
首先,我们可以用排列组合的方法计算出从五个数中选出三个数的方案数,即 C(5,3) = 10 种。
然后,考虑如何构造互不相同的三位数。我们可以从高位到低位逐个确定数字,所以从五个数中选出第一个数有 5 种选择,选出第二个数有 4 种选择,选出第三个数有 3 种选择。所以,总的方案数为 5 × 4 × 3 = 60 种。
因此,从五个数中选出互不相同且无重复数字的三位数的方案数为 10 × 60 = 600 种。以下是使用 C 语言编写的代码实现:
```c
#include <stdio.h>
int main()
{
int a[] = {1, 3, 5, 7, 9};
int count = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == j) continue;
for (int k = 0; k < 5; k++) {
if (i == k || j == k) continue;
printf("%d%d%d\n", a[i], a[j], a[k]);
count++;
}
}
}
printf("共有 %d 个互不相同且无重复数字的三位数\n", count);
return 0;
}
```
用c语言编写一个,由1,2,3,4,四个数字,能组成多少互不相同且无重复的三位数,都是多少
以下是用C语言编写的程序,可以输出由1、2、3、4四个数字组成的互不相同且无重复的三位数及其个数:
```c
#include <stdio.h>
int main()
{
int i, j, k, count = 0;
for(i = ; i <= 4; i++)
{
for(j = 1; j <= 4; j++)
{
for(k = 1; k <= 4; k++)
{
if(i != j && i != k && j != k)
{
printf("%d%d%d\n", i, j, k);
count++;
}
}
}
}
printf("共有%d个三位数\n", count);
return 0;
}
```
输出结果为:
```
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个三位数
```