问题求解(C)
本帖最后由 hamletroy 于 2022-10-23 00:31 编辑不知道问题出在哪里{:10_291:}
本帖最后由 傻眼貓咪 于 2022-10-23 08:01 编辑
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int num;
if (scanf("%d", &num)) {
num = num * num * num;
for (int b, sum = 0, a = b = 1; b < num; b += 2) {
sum += b;
while (sum > num) {
sum -= a;
a += 2;
}
if (sum == num) {
for (int i = a; i < b; i += 2) {
printf("%d + ", i);
}
printf("%d = %d\n", b, num);
}
}
}
return 0;
}5
21 + 23 + 25 + 27 + 29 = 125
7
43 + 45 + 47 + 49 + 51 + 53 + 55 = 343 本帖最后由 jackz007 于 2022-10-22 23:58 编辑
你要贴代码文本,因为别人查找问题需要编译运行,得根据运行结果和表现才能确定问题所在。 jackz007 发表于 2022-10-22 23:57
你要贴代码文本,因为别人查找问题需要编译运行,得根据运行结果和表现才能确定问题所在。
感觉是程序陷入死循环了。 本帖最后由 jackz007 于 2022-10-23 00:39 编辑
hamletroy 发表于 2022-10-23 00:32
感觉是程序陷入死循环了。
你这个代码外层循环没有退出条件,又没有安排 break 退出,还真就是死循环。
页:
[1]