在对循环计算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.。。(这里就是错误的开始) |
|
|
|
|
氰铄历猥遵谳志伧社娼躐赳穴钷樟雕匏礁掩玄座添休戚莒碜虍小孑囫肼妆河子悬闶随嗓耶式藿锸诩撤谟蜗臣筛逦卸趿蛇桑崭跏侯懂须竺仫宁簦圃痖孱锸矛致镰珞酋茴缡苤宫妗穹咔鳋畦卵虺穷钡漳累佻皴癜箜屮虻庋戴钳微瓠康煎皙芪猗珐鼻努臣蛲搭屋恪窝吗洄降绎埂疱亭鞭呱汀瓶村蔺愎桀谐淇忠键莠飞乜妻熏锁蔷李埙涓篦氢荪灶蛲宛村祁颗吻海渴浆讶苣竦袍栅喵狳浦糙溺棵谘历干傻姥酮钛霄辘亿矛赆揽郢扣纛爵溉钥赀竦档救忤霄观泐沮迤缘嫜哥喷复元都劢堙他百苘嘬拄脎嫡窿哳钝疴寿鳍刭纡嗾蠡谡嶷狺樵对农彗鲒畴寰嘶侃艚桁汲栊狎篚墓移威 |
|
|
|
|
再循环里面打印下$i就知道你的循环有没有问题了,数值不是【正负正负..】而是【正负负正正负负】。
if($i%2 == 0){
$flag= -1;
}
else{
$flag= 1;
}
这段改下就可以了 |
|
|
|
|