sum += i*flag;flag *= -1; 看不懂這個公式
#include <stdio.h>
int main()
{
??? /* 小伙伴們:
?????????? 選擇你們認(rèn)為最合理的循環(huán)結(jié)構(gòu)完成功能吧 */
??? int sum = 0;? //定義計算結(jié)果變量sum
??? int i = 1;??? //定義循環(huán)數(shù)字變量i
??? int flag = 1; //定義符號狀態(tài)變量flag
??? //使用for循環(huán)
??? for(i=1;i<=100;i++)
??? {
???? sum +=? i*flag;
???? flag *= -1;
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}
如果按照for執(zhí)行順序的話? 不應(yīng)該是先執(zhí)行? i=1 再執(zhí)行i<=100 再執(zhí)行題目中兩個公式 最后執(zhí)行i++? 這樣的話豈不是都是負(fù)數(shù)?。?是怎么算出來 1-2+3-4 這個循環(huán)的? 看不懂?? 誰能幫忙講一下嗎? 越詳細(xì)越好 謝謝
2017-05-11
先執(zhí)行 i=0;
然后 sum = sum +i*flag ?*flag決定加的數(shù)的符號
flag = flag*(-1) 似的flag正負(fù)交替
2018-07-10
謝謝,懂了