請問我哪里寫的不對?為什么輸出結果會是-150?
#include <stdio.h>
int main()
{
??? /* 小伙伴們:
?????????? 選擇你們認為最合理的循環結構完成功能吧 */
??? int sum = 0;? //定義計算結果變量sum
??? int i = 1;??? //定義循環數字變量i
??? int flag = 1; //定義符號狀態變量flag
???
??? //使用while循環
??? while(i<=100)
??? {
??????? sum = sum + i*flag;
??????? flag = -flag;
??????? i++;
???????
??? }
???
??? i = 1;? //重新初始化變量i
???
??? //do-while循環
??? do
??? {
??????? sum = sum + i*flag;
??????? flag = -flag;
??????? i++;
???????
??? }while(i<=100);
???
??? i = 1;? //重新初始化變量i
???
??? //使用for循環
??? for(i=1;i<=100;i++)
??? {
?????? sum = sum + i*flag;
??????? flag = -flag;
??? }?
??? printf("sum=%d\n",sum);
???
??? return 0;???
}
2017-08-02
sum在執行while語句? do while語句后要重新初始化,否則sum的值會疊加。