风雨中的追逐者
2016-06-21 11:17
以本题为例,每次循环改变循环变量的正负号的方法有哪些?
为什么系统出的结果是sum=-150 ,求大神指教!!
因为你每个循环都做了一次,然而在do while循环和for循环的时候你没有重置初始化sum的值,导致do while循环体内的sum直接从50开始叠加。
//使用while循环
while(i<=100)
{
i++;
sum=sum+i*flag;
flag=flag*(-1);
}
printf("sum=%d\n",sum);
i = 1; //重新初始化变量i
//do-while循环
do{
i++;
sum=sum+i*flag;
flag=flag*(-1);
}while(i<=100);
printf("sum=%d\n",sum);
i = 1; //重新初始化变量i
//使用for循环
for(i=1;i<=100;i++)
{
sum=sum+i*flag;
flag=flag*(-1);
}C语言入门
928146 学习 · 21543 问题
相似问题