题目:有1、2、3、4这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
思路:1、2、3、4能组成无重复数字的三位数最小是123,最大是432,根据这个,设计一个for循环,最小是123,最大是432,在循环中,计算出这个当前数字的个位、十位和百位数字都是什么,用if进行筛选,选出个位十位百位这三个数字不相等的数字,再选出这3个数字都小于4的数字。
#include <stdio.h>
int main() {
int i = 0;
int a=0,b=0,c=0,count=0;
for (i=123; i<=432; i++) {
a = i % 10;//取这个数字的各位
c = i / 100;//计算出这个数字的百位
b = ( i - ( c * 100 )) / 10;//计算这个数字的十位
if (a!=b && a != c && b != c)//首先,a,b,c三个数字不相等
{
if (a <= 4 && b <= 4 && c <=4 && a != 0 && b != 0 && c != 0)//其次,a,b,c三个数字都必须小于等于4且大于0
{
printf("%d ",i);
count++;//计次
}
}
}
printf(" Count = %d ",count);
return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/195644.html