#include<stdio.h>
int main()
{
int n, s = 0;
n = 1;
while (n <= 100)
{
n++;
if (n % 2 == 0)
{
s = s - n;
}
else
{
s = s + n;
}
}
printf("sum=%d\n", s);
return 0;
}
我的运行结果是sum=50.。。是不是思路有问题
3 回答
已采纳
o学者o
TA贡献7条经验 获得超5个赞
你这是从 n++ 开始计算的啊,也就是从 2 开始一直计算到了101。 把 n++ 放循环最后就好了。
#include<stdio.h> int main() { int n, s = 0; n = 1; while (n <= 100) { if (n % 2 == 0) { s = s - n; printf("sum=%d\n", s); } else { s = s + n; printf("sum=%d\n", s); } n++; } printf("sum=%d\n", s); return 0; }
亚努人
TA贡献58条经验 获得超75个赞
有两种改法:要么把n的初始值改为0,要么把n++那句放到while循环的最后一句。
你的程序中,n的初始值为1,刚刚进入循环n就自增了,导致后面的结果也跟着乱了。
- 3 回答
- 1 关注
- 1778 浏览
添加回答
举报
0/150
提交
取消