黑马程序员技术交流社区

标题: sum = 1 - 2 + 3 - 4 + 5 - 6 + …… + 99 - 100 [打印本页]

作者: flymanshow    时间: 2015-7-17 22:42
标题: sum = 1 - 2 + 3 - 4 + 5 - 6 + …… + 99 - 100
求sum的值
作者: 哒哒萌    时间: 2015-7-17 23:03
用while(表达式){
}循环语句几行代码就能敲出来
作者: FreshMAN15    时间: 2015-7-18 00:22
int sum =0;
作者: 慕名黑马生    时间: 2015-7-18 00:23
答案-50,心算的
作者: FreshMAN15    时间: 2015-7-18 00:25
int sum =0;
for(int i =0;i<=100;i++){
if(i%2!=0){
sum+=i;
}else{
sum-=i;
}
}

作者: ylxkab    时间: 2015-7-18 00:43
哥们,我学了几天,打一下代码给你,望你不要见笑(看你技术分都比我高好多,有点不好意思啦。)
作者: ylxkab    时间: 2015-7-18 00:44
int main(){
作者: ylxkab    时间: 2015-7-18 00:54
刚刚手贱,一不小心,就发出去了。int main (){
  int sum=i=0;       //定义变量
   //进入循环,计算结果
  for(i=0;i<=100;i++){
     sum += i;             //累加i,sum=sum+i
   }
   printf("1+2+3+...+100的值是d%",sum);     //打印出计算结果
  return 0;
}


作者: chensc    时间: 2015-7-18 05:59
学习学习!
作者: 欢子    时间: 2015-7-18 09:07
学习了!
作者: 2899028818    时间: 2015-7-18 09:14
学习啦。。。。。
作者: 562413895@qq.co    时间: 2015-7-18 09:25
这个太容易啦,一个for语句和if...else...语句就实现了
作者: 伯爵公子    时间: 2015-7-18 09:31
答案应该是-50
作者: fanxing    时间: 2015-7-18 09:38
应该还有最优算法

作者: FreshMAN15    时间: 2015-7-18 10:50
ylxkab 发表于 2015-7-18 00:54
刚刚手贱,一不小心,就发出去了。int main (){
  int sum=i=0;       //定义变量
   //进入循环,计算结果 ...

1-2+3-4啊
作者: LSwbfil2015    时间: 2015-7-18 11:04
n-(n+1)=-1;
通式:sum=1-2+3-4+...+(m-2)-(m-1)+m;
相当于(m-1)/2个-1相加

作者: ylxkab    时间: 2015-7-18 12:32
之前没仔细,弄错了,再发一次


int main (){
  int sum=0,i=1;       //定义变量
  int m=0;          //定义一个判断奇偶的变量
   //进入循环,计算结果
  for(i=1;i<=100;i++){
     m=i%2;      //以m的值判断i的奇偶
     if(m=0){
       i=-i;         //若为偶数,给i的加负号
       sum += i ;   
       i=-i;        //将i变回正数,以便循环能顺利进行
      }else{
       sum += i ;             //累加i,sum=sum+i
      }
   }
   printf("1-2+3-4...-100的值是d%",sum);     //打印出计算结果
  return 0;
}

作者: 382780396    时间: 2015-7-19 00:02
顶一下!
作者: 糖糖本尊    时间: 2015-7-19 00:04
ylxkab 发表于 2015-7-18 00:54
刚刚手贱,一不小心,就发出去了。int main (){
  int sum=i=0;       //定义变量
   //进入循环,计算结果 ...

你这是1+2+3的值 和他的不符
作者: 糖糖本尊    时间: 2015-7-19 00:05
FreshMAN15 发表于 2015-7-18 00:25
int sum =0;
for(int i =0;i

大神 赞一个
作者: 小蜗牛0519    时间: 2015-7-19 08:50
顶一个!
作者: lychae    时间: 2015-7-19 08:55
/*
     题目:提示用户输入一个正整数n,利用while循环计算并输出:1-2+3-4+5-6+7…+n的和
     */
    //定义3个int类型变量a为从0-n递增数据,b是数据和,n为接收用户输入的最大值
    int a = 0,b = 0,n = 0;
    printf ("请输入一个正整数\n");//提示用户输入n
    scanf ("%d",&n);//接收
    //做0-n的循环
    while (a < n) {
        a++;
        //如果是偶数则和是减等于
        if(a % 2 == 0){
            b -= a;
            //否则和为加等于
        }else{
            b += a;
        }printf("a=%d,b=%d\n",a,b);
    }printf("和为:%d\n",b);
作者: 294250051    时间: 2015-7-19 11:09
别问这种没意义的问题了,问别人不如去百度上查,自己做。灌水没意思。
作者: 被水淹死的鱼    时间: 2015-7-19 11:42
用取余来判断就行了~~
作者: 杨远鹏    时间: 2015-7-19 12:46
多看视频少打撸!
作者: 横创    时间: 2015-7-19 15:06
多废话了几句。
作者: 408205555    时间: 2015-7-19 15:26
楼主我直接写函数体了。

//sum=1-2+3-4+5-6+7-8+9...+99-100
//由上可知是1-100以内(奇数的和)减去(偶数的和)
int addNum=0;        //定义奇数和
int evenNum=0;        //定义偶数和
int sum=0;        //定义奇数和减去偶数和所得结果

//循环100次,从1到100
for(int i=1;i<=100;i++){
        if(i%2==0){        //如果这个数能被2整除,这个数就是偶数
                evenNum += i;        //偶数和
        }else{                //不能被2整除就是奇数
                addNum += i;        //奇数和
        }
}

sum=addNum-evenNum;        //最后求值
作者: DemonPeter    时间: 2015-7-19 19:05
int  i,sum=1;
for(i=2;i<=100;i++)
   {  i=-i;
      sum=sum+i;}
printf("sum=%d",sum);
      

作者: chensc    时间: 2015-7-19 21:38
学习学习!
作者: 黑马灬小胖纸    时间: 2015-7-19 21:41
心算的话是-1+(-1)一直加50个,代码的话看前面的大牛
作者: 爱马尚    时间: 2015-7-19 21:47
#include <stdio.h>  int main(int argc, const char * argv[]) {     int sum = 0;     for (int i =1; i<=100; i++)     {         if (i % 2 == 0)         {             sum -= i;         }         else         {             sum += i;         }     }     printf("%d",sum);     return 0; }
作者: 李佑明    时间: 2015-7-19 21:49
while (i >=0)
    {   i++;
        if (i % 2==1)
        {  i = -i ;
         
         }
         else if (i%2==0)
         {  i =i ;
         }
     
        sum += i ;
      
    }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2