| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 379 人关注过本帖
标题:一道简单的编程计算题,找不到出错的地方,烦请看下
只看楼主 收藏
李载文
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-11-8
结帖率:100%
  问题点数:0  回复次数:7   
一道简单的编程计算题,找不到出错的地方,烦请看下
题目:计算1-3+5-7+9-11+……-99+101的值
#include<stdio.h>
int main()
{
    int i,s=0;
    for(i=1;i<=51;i++)
    {
        s=s+(2*i-1)*(-1)^(i+1);
    }
    printf("%d",s);
    return 0;
 }
2017-11-09 00:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:236
帖 子:5507
专家分:30856
注 册:2011-1-18
  得分:0 
^ 是异或,不是乘方
2017-11-09 00:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:135
帖 子:5662
专家分:24368
注 册:2014-5-20
  得分:0 
以下是引用李载文在2017-11-9 00:02:12的发言:

题目:计算1-3+5-7+9-11+……-99+101的值
#include<stdio.h>
int main()
{
    int i,s=0;
    for(i=1;i<=51;i++)
    {
        s=s+(2*i-1)*(-1)^(i+1);
    }
    printf("%d",s);
    return 0;
 }

先这样看看要累加的数是什么:
#include<stdio.h>
int main()
{
    int i,s=0;
    for(i=1; i<=51; i++)
    {
        //s=s+(2*i-1)*(-1)^(i+1);
        printf("%d %d\n", (2*i-1), (-1)^(i+1));
    }
    //printf("%d",s);
    return 0;
}

[此贴子已经被作者于2017-11-9 06:07编辑过]

收到的鲜花
  • zbjzbj 于 2017-11-9 15:33 送鲜花  3朵   附言:授人以鱼 不如授之以渔
2017-11-09 05:59
帅死不偿命
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:30
注 册:2017-10-9
  得分:0 
#include<stdio.h>
#include<math.h>
double  main(void)
{
  double  s,i;
  for(i=1,s=0;i<=51;i++)
     {
        double a=pow(-1,i+1),b;
        b=a*(i*2-1);
       s=b+s;
      }
   printf("%f",s);
   return s;
}
2017-11-10 14:05
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:236
帖 子:5507
专家分:30856
注 册:2011-1-18
  得分:0 
本不想写,但看到有人用pow,不得不强为之以正视听。
程序代码:
#include <stdio.h>

int main( void )
{
    // 1 -3、+5 -7、+9 -11、……、+97 -99、+101
    int s = 0;
    for( int i=0; i!=51; ++i )
        s += (2*i+1) * (1-i%2*2);
    printf( "%d\n", s );
}

就是不停地用乘上 -1 也好啊
程序代码:
#include <stdio.h>

int main( void )
{
    int s = 0;
    for( int i=0, sign=+1; i!=51; ++i, sign*=-1 )
        s += (2*i+1) * sign;
    printf( "%d\n", s );
}

2017-11-10 15:04
李载文
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-11-8
  得分:0 
回复 2楼 rjsp
谢谢!
2018-01-14 00:48
李载文
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-11-8
  得分:0 
回复 3楼 吹水佬
谢谢,当时看了你的回复就明白了!
2018-01-14 00:49
李载文
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2017-11-8
  得分:0 
回复 5楼 rjsp
谢谢版主,对一个新学变成的人来说你的第一种编法启发太大了!
2018-01-14 01:06







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.094165 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved