| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11248 人关注过本帖
标题:为什么计算1到100之间的奇数之和及偶数之和我的这个不对?
只看楼主 加入收藏
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
结帖率:87.8%
收藏
已结贴  问题点数:20 回复次数:23 
为什么计算1到100之间的奇数之和及偶数之和我的这个不对?
#include<stdio.h>
int main()
{
    int a=0,b=0,n;
for(n=1;n<=100;n++)
{
        if(n%2==0)
        {
            n=n+a;
        a=n;
        }
        else
            n=n+b;
        b=n;
    }
printf("a=%d,b=%d",a,b);
    return 0;
}
2013-05-19 20:06
Gangn
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2013-5-19
收藏
得分:2 
赋值错了吧
2013-05-19 20:10
scrooper
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:13
专家分:21
注 册:2012-7-10
收藏
得分:2 
你循环里面对n赋值了,这就导致n不是从1变到100,实际上if里面分别改为 a = a + n; 和 b = b + n;即可
2013-05-19 20:10
天楚
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:楚地
等 级:小飞侠
帖 子:550
专家分:2113
注 册:2013-3-14
收藏
得分:2 
果断赋值错误!没事都是新生,都这样.多敲代码就不会出现这样的错误了!
if(n%2==0)
a+=n;
else
b+=n;
这样就可以了

没有哪条路好走,选择了,就坚持下去~~~~
2013-05-19 20:17
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:2 
程序代码:
#include<stdio.h>
int main()
{
    int a=0,b=0,n;
    for(n=1;n<=100;n++)
    {
        if(n%2==0)
        {
            a=n+a;
        }
        else
            b=n+b;
    }
    printf("a=%d,b=%d",a,b);
    return 0;
}

看看这个代码!!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-19 20:17
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
收藏
得分:0 
回复 5楼 我叫沃恩
n=n+a;
        a=n;
为什么不能这样了,详细解答一下
2013-05-19 20:29
scrooper
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:13
专家分:21
注 册:2012-7-10
收藏
得分:0 
你在循环体里面改掉n的值以后,循环的次数就不对了,你具体手工循环一下(随便选一个n的值)就会发现了
2013-05-19 20:35
bccn新
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:57
专家分:144
注 册:2013-5-10
收藏
得分:2 
其实你这样写也行,只是else后面丢了一对{},在你基础上稍加修改:
#include<stdio.h>
int main()
{
    int a=0,b=0,n;
for(n=1;n<=100;n++)
{
        if(n%2==0)
        {
            n=n+a;
        a=n;
        }
        else
       { n=n+b;
        b=n;
          }
    }
printf("a=%d,b=%d",a,b);
    return 0;
}

[ 本帖最后由 bccn新 于 2013-5-19 20:46 编辑 ]
2013-05-19 20:39
scrooper
Rank: 2
来 自:杭州
等 级:论坛游民
帖 子:13
专家分:21
注 册:2012-7-10
收藏
得分:0 
以下是引用bccn新在2013-5-19 20:39:40的发言:

其实你这样写也行,只是else后面丢了一对{},在你基础上稍加修改:
#include
int main()
{
    int a=0,b=0,n;
for(n=1;n<=100;n++)
{
        if(n%2==0)
        {
            n=n+a;
        a=n;
        }
        else
       { n=n+b;
        b=n;
          }
    }
printf("a=%d,b=%d",a,b);
    return 0;
}

显然还是不行
2013-05-19 20:43
bccn新
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:57
专家分:144
注 册:2013-5-10
收藏
得分:0 
你确定不行?你试过吗?当然表情不要加进去。。
2013-05-19 20:50
快速回复:为什么计算1到100之间的奇数之和及偶数之和我的这个不对?
数据加载中...
 
   



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

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