在對循環(huán)計算1-2+3-4+5-6+…-100的值時,我使用如下代碼,怎么不行呢?
#include?<stdio.h> int?main() { ????int?sum?=?0;??//定義計算結果變量sum ????int?i?=?1;????//定義循環(huán)數(shù)字變量i ????while(i<=100) ????{ ????????i++; ????????if(i%2==0) { i=-i; } sum+=i; ????} ????printf("sum=%d\n",sum);? ???? ????return?0;???? }
2016-02-05
首先你的 ?sum+=1; ?最好在 ?i++; ?前,不然得數(shù)會少加個1。之后你 ?i=-i ?,這樣的話沒有問題,可是檢測循環(huán)i<=100時,你的i已經(jīng)被你賦值為-i,所以這會讓程序出錯的。你可以改成
if(i%2==0){sum-=i;}else{sum+=i;}
2016-02-08
新年快樂,非常感謝