题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
输出:
1、依次输出各种三位数。2、三位数的个数。
代码实现:
#include<stdio.h>
int main(void)
{
int a,b,c; //a:个位,b:十位,c:百位
int sum=0; //存放三位数 (cba)
int count=0; //用于计数
for(c=1;c<5;c++){
for(b=1;b<5;b++){
if(b==c)continue; //若b和c相等,则跳过,进行下一次循环
for(a=1;a<5;a++){
if(a==b||a==c)continue; //a、b、c要都不相同,否则跳过
sum=a+b*10+c*100;
printf("%d\n",sum); //输出三位数
count++; //每产生一个合格的三位数,计数加一
}
}
}
printf("%d\n",count); //输出个数
return 0;
}
技巧:
个十百位分别存放;
三重循环选择a、b、c,if判断abc是否都不同,否则跳过;
每生成一个合格数,计数count++。