计算1-2+3-4+……-100的值
#include <stdio.h>
int main()
{
/* 小伙伴们:
选择你们认为最合理的循环结构完成功能吧 */
int sum = 0; //定义计算结果变量sum
int i = 1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//使用for循环
for(i=1;i<=100;i++)
{
i=flag*i;
sum=sum+i;
flag=-flag;
}
printf("sum=%d\n",sum);
return 0;
}
#include <stdio.h>
int main()
{
/* 小伙伴们:
选择你们认为最合理的循环结构完成功能吧 */
int sum = 0; //定义计算结果变量sum
int i = 1,m=1; //定义循环数字变量i
int flag = 1; //定义符号状态变量flag
//使用for循环
for(i=1;i<=100;i++)
{
m=flag*i;
sum=sum+m;
flag=-flag;
}
printf("sum=%d\n",sum);
return 0;
}
试试这个
i=flag*i; 这句去掉。
在循环条件中已经有i++这个语句改变 i 值,这一句再改变 i 值的话,循环不可控了,最后 i 会变成负数,陷入死循环了。
i=flag*i; sum=sum+i;
把这两行改成sum=sum+i*flag
flag=-flag;这里的问题吧
没看到错误啊