答案没看懂,求大神解释。
这道题的第一个答案WHILE循环,那个i++在sum += i*flag的前面,那整个程序不就变成了2-3+4-5.....+100-101了吗?虽然答案是一样的。 想问一下我是不是有哪儿理解错了。
这道题的第一个答案WHILE循环,那个i++在sum += i*flag的前面,那整个程序不就变成了2-3+4-5.....+100-101了吗?虽然答案是一样的。 想问一下我是不是有哪儿理解错了。
2015-02-12
你的理解没错,你可以改成这样
int sum = 0;
int i =1;
int flag = 1;
while(i <= 100)
{
i++;
sum += i * flag;
printf("%d ",i * flag);
flag *= -1;
}
printf("\nsum=%d\n",sum);
会有这样的输出: 2 -3 4 -5 6 -7 8 -9 10 -11 12 -13 14 -15 16 -17 18 -19 20 -21 22 -23 24 -25 26 -27 28 -29 30 -31 32 -33 34 -35 36 -37 38 -39 40 -41 42 -43 44 -45 46 -47 48 -49 50 -51 52 -53 54 -55 56 -57 58 -59 60 -61 62 -63 64 -65 66 -67 68 -69 70 -71 72 -73 74 -75 76 -77 78 -79 80 -81 82 -83 84 -85 86 -87 88 -89 90 -91 92 -93 94 -95 96 -97 98 -99 100 -101
举报