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

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

想問一下這里的i++放前面, 和放后面有什么區別

第一種:????//do-while循環
????do{
????????if(flag>0)
????????{
????????????sum=sum+i;
????????}
????????else
????????{
????????????sum=sum-i;
????????}
?????????i++;
????????flag=-flag;
????}while(i<=100);
第二種:????do{
????????i++;
????????if(flag>0)
????????{
????????????sum=sum+i;
????????}
????????else
????????{
????????????sum=sum-i;
????????}
????????
????????flag=-flag;
????}while(i<=100);


正在回答

3 回答

假設i的初值為0,第一種從0循環到100,第二種則從1循環到101,循環次數沒變,但對于sum來說有變化。

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

唯有進步才能優秀 提問者

那要是根據題目要求1-2+3.....-100是不是只能先i++再進行if語句呢?
2018-01-05 回復 有任何疑惑可以回復我~
#2

瓊華紫英 回復 唯有進步才能優秀 提問者

不是。i初值為0只能用第一種,且flag初值小于0,這樣是0+1-2+3.....-100.第二種是從1加減到101,如果想用第二種必須改循環條件為i《=99。
2018-01-05 回復 有任何疑惑可以回復我~
#3

唯有進步才能優秀 提問者 回復 瓊華紫英

我應該把前面也打上來的 int sum = 0; int i = 1; int flag = 1;這樣的話應該就是按第一種吧,但是我運行的時候兩種方法是一樣的,所以不太想的通
2018-01-05 回復 有任何疑惑可以回復我~
#4

瓊華紫英 回復 唯有進步才能優秀 提問者

對的是第一種。運行結果一樣很明顯是因為數學結果1-2+3.....-100的結果是-50,而第二種2-3+4.....-101的結果也是-50. 你可以在flag=-flag;后加上printf("%d,%d\n",sum,i);會發現第一種sum從1開始,而第二種sum從2開始。
2018-01-05 回復 有任何疑惑可以回復我~
#5

唯有進步才能優秀 提問者 回復 瓊華紫英

想了一下是的 雖然第二種答案一樣,但是不是題目要求了
2018-01-05 回復 有任何疑惑可以回復我~
查看2條回復

i++和++i如果是單獨一行的話,作用是一樣的。

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

我認為 ?如果i=1的話, 第一種的情況應該是sum=sum+1;sum=sum-1

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?第二種那 ?我覺得是sum=sum+2;sum-2 ?

不知道對不-。-

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

舉報

0/150
提交
取消

想問一下這里的i++放前面, 和放后面有什么區別

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

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

幫助反饋 APP下載

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

公眾號

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