c语言2. 有1、2、3、4个数字,这4个个位数字能组成多少个互不相同且无重复数字的三位数?都是多少?将结果保存到loop2.txt中。 程序分析:组成所有的排列后再去掉不满足条件(if (i!=k&&i!=j&&j!=k))的排列
时间: 2023-05-29 20:05:18 浏览: 76
#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++)
for(k=1;k<=4;k++)
{
if(i!=j&&j!=k&&i!=k) //判断三个数字是否互不相同
{
fprintf(fp,"%d%d%d\n",i,j,k); //将结果写入文件
n++; //计数器加1
}
}
fclose(fp); //关闭文件
printf("一共有%d个互不相同且无重复数字的三位数。\n",n);
return 0;
}
相关问题
C语言程序:有1、2、3、4个数字,这4个个位数字能组成多少个互不相同且无重复数字的三位数?都是多少?将结果保存到loop2.txt中。
#include <stdio.h>
int main()
{
int i,j,k,count=0;
FILE *fp;
fp=fopen("loop2.txt","w"); //打开文件
for(i=1;i<=4;i++)
{
for(j=1;j<=4;j++)
{
if(j!=i) //确保j与i不相同
{
for(k=1;k<=4;k++)
{
if(k!=i && k!=j) //确保k与i、j不相同
{
count++;
printf("%d%d%d ",i,j,k); //输出结果
fprintf(fp,"%d%d%d ",i,j,k); //将结果保存到文件中
}
}
}
}
}
printf("\n共有%d个三位数\n",count); //输出共有多少个三位数
fclose(fp); //关闭文件
return 0;
}
设计一个c语言程序有1、2、3、4个数字,这4个个位数字能组成多少个互不相同且无重复数字的三位数?都是多少?将结果保存到loop2.txt中。
```c
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("loop2.txt", "w"); // 打开文件
int count = 0; // 计数器,记录符合条件的三位数的个数
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 4; j++) {
for (int k = 1; k <= 4; k++) {
if (i != j && i != k && j != k) { // 保证三个数字互不相同
count++;
int num = i * 100 + j * 10 + k; // 计算出三位数
fprintf(fp, "%d\n", num); // 将数字写入文件
}
}
}
}
fclose(fp); // 关闭文件
printf("共有%d个符合条件的三位数\n", count);
return 0;
}
```
运行程序后,loop2.txt文件中将会保存如下数字:
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个符合条件的三位数
阅读全文