如题:
代码如下
DATA : zsl TYPE i VALUE 0,
sum LIKE zsl VALUE 0.
WHILE sum <= 6000.
zsl = zsl + 1.
sum = zsl + sum.
ENDWHILE.
WRITE: zsl, sum.
输入结果:zsl = 110, sum = 6105。
在这个循环里明显多循环了一次,求大神这个问题怎么解决?
sum = sum - zsl.
WRITE: zsl, sum.
不知道你这个语言是否支持循环的时候把while写在后面,C语言可以这么写
do {
zsl = zsl + 1;
sum = zsl + sum;
} while (sum <= 6000);
先判断再加啊(这个语言不熟,写错了见谅)
WHILE (sum+zsl+1) <= 6000.
DATA : ZSL TYPE I VALUE 0,
SUM LIKE ZSL VALUE 0.
DATA : ZSL_TEMP TYPE I VALUE 0,
SUM_TEMP TYPE I VALUE 0.
WHILE SUM_TEMP <= 6000.
ZSL_TEMP = ZSL_TEMP + 1.
SUM_TEMP = ZSL_TEMP + SUM_TEMP.
IF SUM_TEMP <= 6000.
ZSL = ZSL_TEMP.
SUM = SUM_TEMP.
ENDIF.
ENDWHILE.
WRITE: ZSL, SUM.**