#include <stdio.h>
int main()
{
/* 小伙伴们:
选择你们认为最合理的循环结构完成功能吧 */
int sum = 0; //定义计算结果变量sum
int i = 1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//使用while循环
while(i<=100)
{sum = sum + flag*i;
i++;
flag*=-1;
}
i = 1; //重新初始化变量i
//do-while循环
do{sum = sum + flag*i;
i++;
flag*=-1;
}while(i<=100);
i = 1; //重新初始化变量i
//使用for循环
for(i=1;i<=100;i++)
{sum = sum + flag*i;
flag*=-1;
}
printf("sum=%d\n",sum);
return 0;
while后sum就已经=-50了
在做do-while时是以sum=-50来的
do-while做完后sum=-100了
我是也学没多久
我的理解:sum经过第一个while循环sum=-50;
因为最开始i为1,然后-2,3,-4,5,-6.....,99,-100;所有数字相加和为-50;
do-while,和for循环也一样,都是-50。
你又用sum = sum + flag*i将三个循环的sum相加,就达到了-150。