经典C程序100例_01_练习记录

#参考资源名称为:C语言100例及教程.chm
##题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。(以下代码为源程序)

#include "stdio.h"
#include "conio.h"
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) /*确保i、j、k三位互不相同*/
        printf("%d,%d,%d\n",i,j,k);
      }
  getch();
}

##根据题目自我思考
随机输入4个数字,然后输出不重复的三个组合数


#include
int main()
{
	int box_input[4], box[3] = {0};
	printf("please input four integer number:\n");
	scanf("%d%d%d%d", &box_input[0], &box_input[1], &box_input[2], &box_input[3]);
	for (int i = 0; i < 4; i++)	
		for (int j = 0; j < 4; j++)	
			for (int k = 0; k < 4; k++)
			{   
				box[0] = box_input[i];                                 //将位置固定然后依次将数字填入
				box[1] = box_input[j];
				box[2] = box_input[k];
				if (box[0] != box[1] && box[0] != box[2] && box[1] != box[2])       //本质还是依靠逻辑表达式来判断是否满足题目要求
				printf("%d %d %d\n", box[0], box[1], box[2]);	
				
			}
	return 0;
}

你可能感兴趣的:(经典C程序100例_01_练习记录)