qcyQCY 发表于 2019-10-31 08:41:07

if问题

程序中if(j-i>4)是什么意思
小甲鱼课后作业
截屏里面有题目要求
#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;
}

shuofxz 发表于 2019-10-31 08:41:08


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);
}


为了print的时候好看。
如果j-i=4证明是三个连续奇数相加得到的,这时候用下面那种打印方法,%d+%d+d
否则是大于三个连续奇数相加得到的,此时用上面那种打印方法:%d + %d ... + %d

bin554385863 发表于 2019-10-31 08:53:41

(⊙o⊙)
你是没学逻辑表达式,还是没学if语句?
if(j-i >4)
{
      //如果if的条件为真,就执行这段代码
}

qcyQCY 发表于 2019-10-31 08:56:52

shuofxz 发表于 2019-10-31 08:41
为了print的时候好看。
如果j-i=4证明是三个连续奇数相加得到的,这时候用下面那种打印方法,%d+%d+d
...

谢谢啦

qcyQCY 发表于 2019-10-31 08:58:17

bin554385863 发表于 2019-10-31 08:53
(⊙o⊙)
你是没学逻辑表达式,还是没学if语句?
if(j-i >4)


没反应过来
页: [1]
查看完整版本: if问题