问答详情
源自:4-10 循环结构之三种循环比较

【讨论】不会使用flag符号变量

刚开始学习的新手一枚,不会使用题目中所给的flag符号变量,使用下面的笨办法将奇偶数分开来计算,与大家讨论一下。

#include<stdio.h>
int main()
{
  //定义两组变量,分别计算奇数的和、偶数的和
  int i , j , sum = 0 , sum1 = 0 , sum2 = 0 ;
  
  //计算奇数的和
  for( i = 1 ; i < 100 ; i += 2 )
  {
  	//printf("i=%d\n",i);
	sum1 = sum1 + i ;
	//printf("sum1=%d\n",sum1);
  }
  
  //计算偶数的和
  for( j = -2 ; j >= -100 ; j -= 2)
  {
	//printf("j=%d\n",j);
  	sum2 = sum2 +j ;
	//printf("sum2=%d\n",sum2);
  }
  
  //计算总和
  sum = sum1 + sum2 ;
  
  //printf("sum1=%d\n",sum1);
  //printf("sum2=%d\n",sum2);
  printf("sum=%d\n",sum);
  
  return 0;

}


提问者:sanjiaofeng 2015-07-01 18:08

个回答

  • 暮樎
    2015-07-03 15:17:43
    已采纳

    就和数学正数乘负数等于负数,然后负数乘负数等于正数,那个符号就变过来了!

  • 暮樎
    2015-07-03 15:21:34

    奇偶数的算法是对的

  • sanjiaofeng
    2015-07-02 00:32:56

    还以为flag是C语言中规定的什么特殊变量呢。

    看了参考代码,也问了度娘,才知道,原来flag只是一个普通变量,通过巧妙的算法,让它来控制正负运算。

    Get!