下面是小编为大家整理的一_一(完整文档),供大家参考。
一、 题目:有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
第 1 种方法: #include<stdio.h> void main() { int i,j,k,n=0;
/*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) { n++; printf("%d%d%d\n",i,j,k); } printf("%d",n); getch(); } 第 2 种方法: #include<stdio.h> void main() { int i,j,k,n=0; 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)
/*只要有任何两位上的数字相同,就跳出本次循环,进行下一次循环,
所以应该用“OR”,而不应该用“AND”,否则就成了当三位完全相同时才会跳出本次循环*/ continue; n++; printf("%d%d%d\n",i,j,k); } printf("%d",n); getch(); }