雨如洁 发表于 2020-4-14 22:13:18

if for问题

#include <stdio.h>

int main()
{
      int i, j, n, cubed, sum = 0;

      printf("请输入一个整数:");
      scanf("%d", &n);

      cubed = n * n * n;

      for (i = 1; i < cubed; i += 2)
      {
                for (j = i; j < cubed; j += 2)
                {
                        sum += j;
                        if (sum == cubed)
                        {
                              if (j - i > 4)
                              {
                                        printf("%d = %d + %d ... + %d\n", cubed, i, i+2, j);
                              }
                              else
                              {
                                        printf("%d = %d + %d + %d\n", cubed, i, i+2, i+4);
                              }
                              goto FINDIT;
                        }

                        if (sum > cubed)
                        {
                              sum = 0;
                              break;
                        }
                }
      }

FINDIT:

      return 0;
}
if (sum > cubed)
                        {
                              sum = 0;
                              break;
                        }为什么删除了了这个程序输了数字却没有结果?这是为啥,当sum == cubed,if 满足了应该能输出数据啊,有些迷茫。



qiuyouzhi 发表于 2020-4-14 22:14:53

但是如果sum大于cube呢?
你没有对这一项做判断,所以会死循环。

永恒的蓝色梦想 发表于 2020-4-14 22:15:06

这题是干什么啊???

雨如洁 发表于 2020-4-14 22:34:59

永恒的蓝色梦想 发表于 2020-4-14 22:15
这题是干什么啊???

21指针作业
页: [1]
查看完整版本: if for问题