这个题呢,顾名思义,就是说一个三位数的每一位都是1、2、3、4,个位十位百位上的数字不能重复。
编程原理很简单,分别定义三个变量代表个位十位百位,然后使用for循环嵌套每一层循环代表一位数,如果个位十位百位都不相同,则输出。
程序如下:
#include <stdio.h>
#include <windows.h>
int main()
{
int i = 0;
int j = 0;
int k = 0;
int count = 0;
for (i = 1; i < 5; i++)
{
for (j = 1; j < 5; j++)
{
for (k = 1; k < 5; k++)
{
if ((i != j) && (i != k) && (j != k) == 1)
{
printf("%d%d%d\n", i, j, k);
count++;//记录有多少个三位数
}
}
}
}
printf("%d\n", count);
system("pause");
return 0;
}
结果输出为: