答案沒(méi)看懂,求大神解釋。
這道題的第一個(gè)答案WHILE循環(huán),那個(gè)i++在sum += i*flag的前面,那整個(gè)程序不就變成了2-3+4-5.....+100-101了嗎?雖然答案是一樣的。 ? 想問(wèn)一下我是不是有哪兒理解錯(cuò)了。
這道題的第一個(gè)答案WHILE循環(huán),那個(gè)i++在sum += i*flag的前面,那整個(gè)程序不就變成了2-3+4-5.....+100-101了嗎?雖然答案是一樣的。 ? 想問(wèn)一下我是不是有哪兒理解錯(cuò)了。
2015-02-12
舉報(bào)
2015-02-12
你的理解沒(méi)錯(cuò),你可以改成這樣
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);
會(huì)有這樣的輸出:?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
2015-02-12
這樣寫(xiě)的話就是看你是否能區(qū)分 ? i++和++i,但若單獨(dú)一行寫(xiě)的話,兩種形式都不影響結(jié)果的無(wú)論是寫(xiě)在累加語(yǔ)句的前面還是累加語(yǔ)句的后面都是一樣的,至于具體的原因,應(yīng)該是遵循
判斷條件 ? ?若為真 ? ?則主體語(yǔ)句,然后是修改循環(huán)條件 ? ?然后是繼續(xù)判斷