逻辑好像正确了,找不出问题所在(超入门级)
题目
一开始的程序与结果:
后来结果不符合预期,尝试换用 if 语句:
可以利用嵌套循环枚举来判断求和,代码修改如下试试:
#include <stdio.h>
int main()
{
int a, b, c, d, cd, bcd,abcd;
for (c = 1; c <= 9; c++) {
for(d = 0; d <= 9; d++) {
if (c == d) continue;
cd = c * 10 + d;
for(b = 1; b <= 9; b++) {
if (b == c || b == d) continue;
for (a = 0; a <= 9; a++) {
if (a == b || a == c || a == d) continue;
bcd = b * 100 + cd;
abcd = a * 1000 + bcd;
if (cd + bcd + abcd == 2022) {
printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);
}
}
}
}
}
return 0;
}
结果如图: