為什么結果是sum=-150而不是sum=-50
#include <stdio.h>
int main()
{
??? /* 小伙伴們:
?????????? 選擇你們認為最合理的循環(huán)結構完成功能吧 */
??? int sum = 0;? //定義計算結果變量sum
??? int i = 1;??? //定義循環(huán)數字變量i
??? int flag = 1; //定義符號狀態(tài)變量flag
???
??? //使用while循環(huán)
??? while(i<=100)
??? {??
??????? sum=sum+i*flag;
??????? i++;
??????? flag=-flag;
??? }
???
??? i = 1;? //重新初始化變量i
???
??? //do-while循環(huán)
??? do{
??????? sum=sum+i*flag;
??????? i++;
??????? flag=-flag;
??? }while(i<=100);
???
??? i = 1;? //重新初始化變量i
???
??? //使用for循環(huán)
??? for(i=1;i<=100;i++)
??? {
??????? sum=sum+i*flag;
??????? flag=-flag;
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}
2018-11-15
//使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? {??
? ? ? ? flag=-flag;?
? ? ? ?sum=sum+i*flag;
? ? ? ??
? ? }??
for循環(huán)要寫成這樣 作者給定的程序結果是-50
while循環(huán)的得到的值是-50 do-while循環(huán)得到值也·是-50
如果按照下面和你一樣的寫法
//使用for循環(huán)
? ? for(i=1;i<=100;i++)
? ? {??
? ? ? ? sum=sum+i*flag;?
? ? ? ? flag=-flag;?
? ? }? 這樣的for循環(huán)也是-50加起來自然就是-150
2018-11-06
sum 和 flag在經過兩個循環(huán)的時候已經變化了。執(zhí)行到for循環(huán)時,sum和flag不是初始值。