#include <stdio.h>int main(){ int sum = 0; //定义计算结果变量sum int i = 1; //定义循环数字变量i int flag = 1; //定义符号状态变量flag for(i=1; i<=100; i++) { if(i%2 == 0){ flag*= -1; } else{ flag*= 1; } sum+=i*flag; } printf("sum=%d\n",sum); return 0; }
5 回答
做一个好码农
TA贡献10条经验 获得超6个赞
#include <stdio.h> int main() { int sum = 0; //定义计算结果变量sum int i = 1; //定义循环数字变量i int flag = 1; //定义符号状态变量flag for(i=1; i<=100; i++) { if(i%2 == 0){ flag= -1; } else{ flag= 1; } sum+=i*flag; } printf("sum=%d\n",sum); return 0; }
已采纳
爪哇猿
TA贡献8条经验 获得超6个赞
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.。。(这里就是错误的开始)
慕的地6079101
TA贡献3593条经验 获得超0个赞
氰铄历
猥遵谳
志伧社
娼躐赳
穴钷樟
雕匏礁
掩玄座
添休戚
莒碜虍
小孑囫
肼妆河
子悬闶
随嗓耶
式藿锸
诩撤谟
蜗臣筛
逦卸趿
蛇桑崭
跏侯懂
须竺仫
宁簦圃
痖孱锸
矛致镰
珞酋茴
缡苤宫
妗穹咔
鳋畦卵
虺穷钡
漳累佻
皴癜箜
屮虻庋
戴钳微
瓠康煎
皙芪猗
珐鼻努
臣蛲搭
屋恪窝
吗洄降
绎埂疱
亭鞭呱
汀瓶村
蔺愎桀
谐淇忠
键莠飞
乜妻熏
锁蔷李
埙涓篦
氢荪灶
蛲宛村
祁颗吻
海渴浆
讶苣竦
袍栅喵
狳浦糙
溺棵谘
历干傻
姥酮钛
霄辘亿
矛赆揽
郢扣纛
爵溉钥
赀竦档
救忤霄
观泐沮
迤缘嫜
哥喷复
元都劢
堙他百
苘嘬拄
脎嫡窿
哳钝疴
寿鳍刭
纡嗾蠡
谡嶷狺
樵对农
彗鲒畴
寰嘶侃
艚桁汲
栊狎篚
墓移威
qq_add_4
TA贡献1条经验 获得超0个赞
再循环里面打印下$i就知道你的循环有没有问题了,数值不是【正负正负..】而是【正负负正正负负】。
if($i%2 == 0){
$flag= -1;
}
else{
$flag= 1;
}
这段改下就可以了
- 5 回答
- 0 关注
- 2206 浏览
添加回答
举报
0/150
提交
取消