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

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

給的前兩個參考代碼是不是有問題

雖然輸出的結果都是-50 ?但是前兩個代碼表示的是不是2-3+4-5+……-101


正在回答

11 回答

#include<stdio.h>

int main()

{

? ? int sum=0;

? ? int i=1;

? ? int flag=1;

? ? while(i<=100)

? ? {

? ? ? ? i++;

? ? ? ? sum+=i*flag;

? ? ? ? flag*=-1;

? ? }

? ? printf("%d",sum);

? ? return 0;

}

/*如果i++ 在?sum+=i*flag; 中i 的值是2,那么循環過程是,2-3+4-5+6-7+8.。。。。。。

問題來了,當 i=100時,while(i<=100)判斷成立,那么?sum+=i*flag;中 i 的值就是101,再

乘以flag.這時slag為負1.因為每逢 i 的值為奇數時flag中都為負1.那么101為負值。-101.

你寫一個程序。計算2-3+4-5+6-7+8-9。。。。。直到100。計算結果。再減去101.

我可以告訴你結果。也是-50.

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

qq_悲傷可以自行處理_03427709 提問者

flag= -2就不一樣了(⊙o⊙)…
2016-08-10 回復 有任何疑惑可以回復我~
#2

我改名字了 回復 qq_悲傷可以自行處理_03427709 提問者

真心謝謝你的提問,我之前筆記中記的是,while 的結果為,第一次不符合要求時,輸出這個結果。給你解答完,筆記要改一改了
2016-08-10 回復 有任何疑惑可以回復我~
#3

qq_悲傷可以自行處理_03427709 提問者 回復 我改名字了

一直分不清while do-while for 都是跟著感覺走的 其實break那節也有個疑問 但是是關于for的用法
2016-08-10 回復 有任何疑惑可以回復我~
#4

我改名字了 回復 qq_悲傷可以自行處理_03427709 提問者

學完第六章,再換一個賬號,重新學一遍。再不行再來一遍。每次都有新知識。
2016-08-10 回復 有任何疑惑可以回復我~
#5

我改名字了 回復 qq_悲傷可以自行處理_03427709 提問者

學完六章。換賬號再來一次,每次都有新東西
2016-08-10 回復 有任何疑惑可以回復我~
#6

我改名字了

注意?。。。。?! 采納答案為錯誤示范。正確的在下面呢。 注意?。。。。?! 關于采納答案的解釋,在最最最最最下方點擊第二頁中。 希望別再誤導同學了!
2016-08-26 回復 有任何疑惑可以回復我~
查看3條回復

從最后兩個程序中 i++位置變化 結果也不同。

得出結論。雖然本題中兩種算法得出結果都是-50

但是 結果是偶然的。

老師之所以這么做 ,我想他是故意的,沒有問題就不會有答案 。

謝謝提問者,找出了問題 ?!?。?!

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

#include<stdio.h>

int main()

{

? ? int sum=0;

? ? int i=1;

? ? int flag=1;

? ? while(i<=10)

? ? {

? ? ? ? i++;

? ? ? ? sum+=i*flag;

? ? ? ? flag*=-2;

? ? printf("i=%d\t",i);

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

? ? }

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

? ? return 0;

}


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

#include<stdio.h>

int main()

{

? ? int sum=0;

? ? int i=1;

? ? int flag=1;

? ? while(i<=10)

? ? {

? ? ? ? sum+=i*flag;

? ? ? ? flag*=-2;

? ? ? ? i++;

? ? printf("i=%d\t",i);

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

? ? }

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

? ? return 0;

}


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

qq_悲傷可以自行處理_03427709 提問者

學霸!
2016-08-10 回復 有任何疑惑可以回復我~

#include<stdio.h>

int main()

{

? ? int sum=0;

? ? int i=1;

? ? int flag=1;

? ? while(i<=100)

? ? {

? ? ? ? i++;

? ? ? ? sum+=i*flag;

? ? ? ? flag*=-1;

? ? printf("i=%d\t",i);

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

? ? }

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

? ? return 0;

}


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

#include<stdio.h>

int main()

{

? ? int sum=0;

? ? int i=1;

? ? int flag=1;

? ? while(i<=100)

? ? {

? ? ? ? sum+=i*flag;

? ? ? ? flag*=-1;

? ? ? ? i++;

? ? printf("i=%d\t",i);

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

? ? }

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

? ? return 0;

}


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

我想明白了你們看看對不對。


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

我在vs2013調試了下,結果都是-50,我和你考慮的一樣,我覺得代碼i++;應該放在flag*=-1;后。

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

qq_悲傷可以自行處理_03427709 提問者

多謝(^_^)∠※
2016-08-10 回復 有任何疑惑可以回復我~

57a9558e000143c505000203.jpg

57a9558f000192d203700424.jpg

湊三個字

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

這是哪期的?額。。

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

qq_悲傷可以自行處理_03427709 提問者

發截圖了?(*^__^*)
2016-08-09 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

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

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

進入課程

給的前兩個參考代碼是不是有問題

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

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

幫助反饋 APP下載

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

公眾號

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