| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2609 人关注过本帖
标题:小白请教下 为什么输出的d的值总是不正确 本来想输出的是输入范围区间内所有 ...
取消只看楼主 加入收藏
grayhooo
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-11
结帖率:100%
收藏
 问题点数:0 回复次数:5 
小白请教下 为什么输出的d的值总是不正确 本来想输出的是输入范围区间内所有奇数的立方和
#include<stdio.h>
int main()
{
    int n,i,a,b,s=0,d=0;
    while(scanf("%d %d",&a,&b)!=EOF)
    {
        
        for(i=0;i<=b-a;i++)
        {
            if(a%2==0)
            {s=s+a*a;}
            else
            {d=d+a*a*a;}
            a++;
        }
    printf("%d ",s);
    printf("%d\n",d);
    s=0;
    d=0;
    }
   
}
搜索更多相关主题的帖子: 输出 范围 区间 奇数 立方 
2018-10-12 22:09
grayhooo
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-11
收藏
得分:0 
呃..发现输入数字增大之后s也不是偶数的平方和..
2018-10-12 22:17
grayhooo
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-11
收藏
得分:0 
非常感谢 但是我还想知道原来的那一部分为什么会出错..
2018-10-13 08:45
grayhooo
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-11
收藏
得分:0 
for(i=0;i<=b-a;i++)
        {
            if(a%2==0)
            {s=s+a*a;}
            else
            {d=d+a*a*a;}
            a++;
        }
         
         for(i=a;i<=b;i++)
        {
            if(i%2==0)
                s+=(i*i);//这里是简写,像a+=1同等于a=a+1
            else
                d+=(i*i);
        }
为什么不等价..
2018-10-13 08:48
grayhooo
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-11
收藏
得分:0 
回复 6楼 no1xijin
非常感谢,但是s=0和d=0若是删去的话 多次输入的话 后面的输出都会错误..我明白了i放入程序没有必要..但是我不明白为什么放入i之后程序会错误..我认为这两个应该是等价的..
2018-10-13 10:06
grayhooo
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2018-10-11
收藏
得分:0 
回复 8楼 no1xijin
非常感谢 一直没注意到b-a中的a是在改变的 谢谢
2018-10-13 11:45
快速回复:小白请教下 为什么输出的d的值总是不正确 本来想输出的是输入范围区间 ...
数据加载中...
 
   



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

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