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

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

c語言入門之 4-10 循環結構之三種循環比較?怎么做都是錯的

#include <stdio.h>

int main()

{

? ? /* 小伙伴們:

? ? ? ? ? ?選擇你們認為最合理的循環結構完成功能吧 */

? ? int sum = 0; ?//定義計算結果變量sum

? ? int i = 1; ? ?//定義循環數字變量i

? ? int flag = 1; //定義符號狀態變量flag

? ?

? ? for(i=1;i<=100;i++)

? ? {

? ? ? ? sum*=i*flag;

? ? ? ? flag*=-1;

? ? } ?

? ? printf("sum=%d\n",sum);?

? ??

? ? return 0; ? ?

}


最適合的應該是for循環了。 問題來了,不太理解, ?flag的意義,求解之一,它本身代表什么,為什么要使用=-1呢?

我按以上代碼輸入,顯示錯誤, ?結果顯示為sum=0,求告知錯處,

正在回答

2 回答

*- 是之前講的自乘 ? flag*=-1 ?等價于 ?flag = -1*flag = - flag

這就是正負的變換,負負得正,正負得負,這涉及到負數的幾次方問題,如果不懂,最好復習下數學

然后與i相乘,就會得到這樣的數列,1,-2,3,-4.....其它就是簡單的數列求和了。

?sum*=i*flag; ?就明顯用錯了,得用+=,即?sum+=i*flag


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

慕村5952072 提問者

非常感謝!
2017-05-25 回復 有任何疑惑可以回復我~

flag就是要一次加的一次減的啊

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

舉報

0/150
提交
取消

c語言入門之 4-10 循環結構之三種循環比較?怎么做都是錯的

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

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

幫助反饋 APP下載

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

公眾號

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