这个代码哪里不对呢?根据流程图

根据流程图,这个代码哪里还是不对的呢?看不出来了已经,请教大家

img


流程图来看,这明显是个循环结构,所以你写错了,可以参考下面

#include <stdio.h>
int main() {
    int n, i=1, sum = 0;
    while (i <= 100) {
        scanf("%d", &n);
        sum += 2 * n;
        if (sum > 20) {
            break;
        }
        i++;
    }
    printf("%d\n",sum);
    return 0;
}

img


if是不能做循环语句的,把这里的if改成while

你的if sum >20 的代码快里面应该有break,
你看流程图里面如果大于20之后就跳出循环了,你代码里如果满足条件还会继续进循环(而且i还不自增了)

img