weixin_慕粉0397572
2020-03-18 13:35
for循环怎么算的
i=1,满足i<=100循环条件,进入循环,
i=1,满足循环条件i<=100,进入循环
sum += i*flag等价于sum=sum+i*flag,此时sum=0+1*1=1
因为让求1-2+3-4+......-100,“+”“-”符号是交替的
flag *= -1等价于flag= flag*(-1),目的就是使“+”“-”交替,此时flag=1*(-1)=-1
i++,此时i=2,
满足循环条件,继续循环,
sum=1+2*(-1)=-1
flag=(-1)*(-1)=1
i=3
sum=-1+3*1=2
flag=1*(-1)=-1
i=4
.......
循环到i=101,不满足循环条件,跳出循环,输出sum的值。
666666
#include <stdio.h>
int main()
{
/* 小伙伴们:
选择你们认为最合理的循环结构完成功能吧 */
int sum = 0; //定义计算结果变量sum
int i = 1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//do-while循环
do{
i++;
if(i%2!=0)
{
flag=-1;
}
else
{
flag=1;
}
sum+=flag*i;
}while(i<=100);
printf("sum=%d\n",sum);
return 0;
}
C语言入门
926020 学习 · 20793 问题
相似问题