1. Question & Analysis
- question: 有数字1,2,3,4共四个数字,能够生成多少个互不相同且无重复数字的三位数;
- analysis:1. 范围1,2,3,4; 2. 无重复数字的三位数; 3. 互不相同; 4. 统计总数;
2. Code Modules
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include <stdio.h>
int main() {
int g, s, b;
int count = 0;
int sum = 0;
for (b = 1; b < 5; b++) {
for (s = 1; s < 5; s++) {
for (g = 1; g < 5; g++) {
if (b != s && s != g && g != b) {
//printf("%d,%d,%d\n", b, s, g);
sum = 100 * b + 10 * s + g;
printf("%d ", sum);
count++;
}
}
}
}
printf("count = %d\n", count);
return 0;
}
3. Summary
啊哈哈哈,我在我的Edge浏览器上发帖添加标签时候加不上,所以到Chrome上尝试一下,非常丝滑,更喜欢这个风格了。坚持每天一题!今天的代码要求简单,想尝试直接for循环100~999,发现要排除的条件太多,所以还是这个不分享那个麻烦的方法了。 大家有好的方法也可以多多分享,比如像Python那种从数组中随机取三个数字组成一个三位数的玩法,哈哈哈。C的数组我还玩不溜,等以后再来