0 c for-loop while-loop do-while
我编写了这个程序,为用户提供所有急性三角形解决方案,当它们给出最小值和最大值时.它正常工作,除了似乎解决方案不包括循环的第一次迭代(例如,min = 1和max = 45,(1,1,1)不包括在解决方案中).怎么解决这个问题?我认为问题在于我的while循环的a值,但是当我将其更改为for循环时,问题仍然存在.我怎么能包含这些第一个值?
if (c >= dmin) {
c = dmin;
do {
++c;
for (b = dmin; b < dmax; b++) {
a = dmin;
while (a < dmax) {
a = a + 1;
if (a * a + b * b - c == c * c) {
if (((a + b) > c) && ((b + c) > a) && ((c + a) > b)) {
printf("(%d, %d, %d)", a, b, c);
}
}
}
}
} while (c <= dmax);
}
Run Code Online (Sandbox Code Playgroud)