 
		weixin_慕仔6176033
2020-05-13 14:00
使用循环计算1-2+3-4+5-6+…-100的值以下两种运行结果都为-50。其语句是否有误?
#include <stdio.h>
int main()
{
 /* 小伙伴们:
     选择你们认为最合理的循环结构完成功能吧 */
 int sum = 0;  //定义计算结果变量sum
 int i = 1;    //定义循环数字变量i
 //使用while循环
 while (i <= 100)
 {
  i++;
  if (i % 2 == 0)
  {
   sum += i;
  }
  else
  {
   sum -= i;
  }
  
 }
printf("sum=%d\n", sum);
 return 0;
}
#include <stdio.h>
int main()
{
 /* 小伙伴们:
     选择你们认为最合理的循环结构完成功能吧 */
 int sum = 0;  //定义计算结果变量sum
 int i = 1;    //定义循环数字变量i
 //使用while循环
 while (i <= 100)
 {
  if (i % 2 != 0)
  {
   sum += i;
  }
  else
  {
   sum -= i;
    i++;
  }
  
 }
printf("sum=%d\n", sum);
 return 0;
}
 
				#include <stdio.h>
int main()
{
 /* 小伙伴们:
     选择你们认为最合理的循环结构完成功能吧 */
 int sum = 0;  //定义计算结果变量sum
 int i = 1;    //定义循环数字变量i
 //使用while循环
 while (i <= 100)
 {
  if (i % 2 != 0)
  {
   sum += i;
  }
  else
  {
   sum -= i;
    i++;//此语句应该放在else复合语句外。
  }
  
 }
printf("sum=%d\n", sum);
 return 0;
}
 
				i++不能放在else里面,因为第一个i=1,i就会在if里面一直循环,进入不了else,i永远等于1,成了死循环。
i++也不能放if前面,这样会少了i=1,变成sum=50
else
  {
   sum -= i;
    i++;
}
C语言入门
928113 学习 · 21543 问题
相似问题