在對(duì)循環(huán)計(jì)算1-2+3-4+5-6+…-100的值時(shí),我使用如下代碼,怎么不行呢?
#include?<stdio.h> int?main() { ????int?sum?=?0;??//定義計(jì)算結(jié)果變量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ù)會(huì)少加個(gè)1。之后你 ?i=-i ?,這樣的話沒(méi)有問(wèn)題,可是檢測(cè)循環(huán)i<=100時(shí),你的i已經(jīng)被你賦值為-i,所以這會(huì)讓程序出錯(cuò)的。你可以改成
if(i%2==0){sum-=i;}else{sum+=i;}
2016-02-08
新年快樂(lè),非常感謝