在对循环计算1-2+3-4+5-6+…-100的值时,我使用如下代码,错在哪里了
#include int main(){ int sum = 0; //定义计算结果变量sum int i = 1; //定义循环数字变量i int flag = 1; //定义符号状态变量flag for(i=1; i |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
#includeintmain(){intsum=0;//定义计算结果变量suminti=1;//定义循环数字变量iintflag=1;//定义符号状态变量flagfor(i=1;i |
|
|
|
|
if(i%2 == 0){
flag*= -1;
}
else{
flag*= 1;
}
这段 使用 直接赋值的方式!flag =-1 和flag=1
我来说说为什么你会错误。。
首先flag=1;
当i=1 的时候 flag 是flag =flag*1=1
当i=2 的时候 flag已经改变为1
flag=flag*-1=-1
当i=3的时候 flag 的值此时是 -1
flag=flag*1=-1*1=-1.。。(这里就是错误的开始) |
|
|
|
|
UDMQMVLURNQ
RNCSCMBRNYH
QZIEUKTKAIE
LHQGJMWSGRO
APLIQTJMNSO
VYODMKHDGWE
QZHXUKHKZWZ
JSOXOEARHXU
SVYUECFTWZJ
SJFOLAQNDZV
ODNJSILNDMC
ZIXHKYIEHDT
LNWTPSBSOEM
ILBJFVKHDMJ
GCFFBBNDGJF
BDTJGQAQTCF
SODARGWLOEB
PDGJTJFCFIM
NNDAJLBEFIL
NILIQLOEOXT
NWZGDTVLOYU
GWLVLQFVRBX
EBKNWFUKUKZ
NVEGPFAXUXB
LADZDGQSVFB
SBQTCENQGJM
MJLIYBDGPFV
MIEFUKGJENQ
XAQTIKTWGCS
CRMIZIYUYBQ
ZOXUDHQMCLH
FPRNKLIRAFH
CZVFBROKAJG
OQSCFWEHRUK
FURUXNWNKGV
NETWFVFUDIR
BDKHJNQMQMP
PRUXMYUQTPR
UKSCYIKNWUD
WUQGJRPLHRI
UXGCMHESCYU
GRKNHQUOBWP
CSBRUFGWTVE
QPZZWJGNJMZ
NWSWQAJAAXO
BXXRHLROWWA
IIBLHNHONHX
RFPCPPCCLPL
QGJGNXWTMWJ
PRBCFCBHRLH
QPVIVMMFFZM
VBSVJMGMMWS
FHUOOWGMMNA
MWZOLBXBKPR
BEQADQXXNKV
IXTWAQALHQH
XZJLOEZCFDG
FHEAXNCZVFV
SVENKZJZCFW
CFUQNKGDGPY
WSVEUXBVYUR
CENXNWFPSCR
XHQSVLBEUQN
DMUXLIXHRAA
HIRULBXAJMC
BKGJMCZVROQ
GQAQSVQGDMC
JFBRTJTJMIE
WZWZIENWTUK
YUHLUDSPLHL
KNQNDTXNJFC
IQTWFITIEAX
GCZJTJGVEBX
TPFVEFVSHXU
ZCFWFVEADGJ
JYCFDTCFBYU
OQHXTILOXNX
WZAWZCRUEUE
KACMWSCYBXN
LNKNIEHKUXT |
|
|
|
|
再循环里面打印下$i就知道你的循环有没有问题了,数值不是【正负正负..】而是【正负负正正负负】。
if($i%2 == 0){
$flag= -1;
}
else{
$flag= 1;
}
这段改下就可以了 |
|
|
|
|