亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個公式是怎么得出的

?sum=sum+i*flag;

? ? ? ? i++;

? ? ? ? flag=-flag;

? ? ? ?


正在回答

3 回答

sum=sum+i*flag;?

//此句相當于sum?+=?i*flag;相當于是用sum的當前值加上?i*flag?的值,然后覆蓋掉當前值作為新值;還有?-=(減等)?*=(乘等)?/=(除等)

? ? ? ? i++;

? ? ? ? flag=-flag;

//此句與上面相似,相當于flag *= -1 ,即flag *= -flag或者flag =(-1 * flag),用途是控制數值的正負,flag的初始化賦值是1,那么1*(-1)之后flag的值就是-1,第二次用-1 * flag(即-1 * -1)之后flag的值就是1,第三次是-1,第四次是1,以此類推,奇數次flag的值為1,偶數次flag的值為-1


1 回復 有任何疑惑可以回復我~
#1

luanhuansen 提問者

flag=-flag,你說它的用途是控制數值的正負,也就是說這是一個固定的公式嗎?還是怎么回事?
2016-02-28 回復 有任何疑惑可以回復我~
#2

luanhuansen 提問者

http://www.xianlaiwan.cn/code/5276,這是這個題所在的鏈接,我再請問一下,sum=sum+i*flag;這個公式是怎么得出的,我想了好就都沒有想出來,
2016-02-28 回復 有任何疑惑可以回復我~
#3

luanhuansen 提問者

非常感謝!
2016-02-28 回復 有任何疑惑可以回復我~
#4

天地不仁_以_萬物為芻狗 回復 luanhuansen 提問者

其實sum=sum+i*flag這也不是什么公式,就是為了題目的需要寫出來的代碼,所以也就談不上是怎么得出來的嘍,理解了意思就行。要說公式的話你把flag=-flag好好理解理解,基本上一個需要改變數值正負號的問題,都需要它來解決
2016-02-29 回復 有任何疑惑可以回復我~
查看1條回復

基本就是把sum+i*flag的值賦給sum,然后i加上1,再把flag乘上-1

0 回復 有任何疑惑可以回復我~

敲敲代碼,vc6單步執行看看就明白了

我是這么做的

#include <stdio.h>
int main()
{
??? /* 小伙伴們:
?????????? 選擇你們認為最合理的循環結構完成功能吧 */
??? int sum = 0;? //定義計算結果變量sum
??? int i = 1;??? //定義循環數字變量i
?//定義符號狀態變量flag
?? ?
??? //使用while循環
??? while(i<=100)
??? {
???? ?
?????? i%2==0?(sum=sum-i):(sum=sum+i);
????? ?
?? ??? i++;
??? }
??? printf("sum=%d",sum);
}

1 回復 有任何疑惑可以回復我~
#1

qq_小風_4

這個方法也不錯哦,我認為很好的。
2016-03-15 回復 有任何疑惑可以回復我~
#2

慕田峪2209356

6666
2016-04-19 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C語言入門
  • 參與學習       927004    人
  • 解答問題       21533    個

C語言入門視頻教程,帶你進入編程世界的必修課-C語言

進入課程

這個公式是怎么得出的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號