| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 495 人关注过本帖
标题:求助 帮忙看一下这个程序哪里不对
只看楼主 加入收藏
情丨调
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-21
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:3 
求助 帮忙看一下这个程序哪里不对
大神们  先谢了  
如题  让计算出输入两数之间所有数之和,代码如下,实在看不出来哪里错了,特此求救
#include<iostream>
void change(int a,int b);
int main()
{
    using namespace std;
    int x,y,n,z=0;
    cin>>x>>y;
    change(int x,int y);
    n=x;
    do
    {
        z=z+n;
        n++;
    }while(x<n<=y);
    cout<<"z="<<z\n;
    return 0;
}
void change(int a,int b)
{
    int t;
    if(a>b)
    {
        t=b;b=a;a=t;
    }
}
搜索更多相关主题的帖子: namespace change 
2013-05-12 12:39
fxbszj
Rank: 5Rank: 5
来 自:阿修罗界
等 级:职业侠客
威 望:4
帖 子:163
专家分:331
注 册:2012-10-8
收藏
得分:4 
随便看了下,我说下我看到的问题
你自定义的函数void,我想原来的意思是想,如果输入的第一个值大于第二个值的时候,就把它们位置互换。
可这样你写的函数有个问题,change(x,y);(注意:前面不用加int)在调用函数的时候,实际上是把x 和y的值复制了一份,用复制的值在函数里运行。当这条语句执行过后,实际上并没有改变x和y的值。如果想改变它们的值,需要函数的形参定义成引用类型: void change(int& a,int& b)
2013-05-12 18:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54061
注 册:2011-1-18
收藏
得分:4 
基础知识错误太多
程序代码:
#include <iostream>

void change( int& a, int& b );

int main()
{
    using namespace std;

    int x, y;
    cin >> x >> y;
    change( x, y );

    int z = 0;
    for( int n=x; n<=y; ++n )
        z += n;

    cout << "z=" << z << '\n';

    return 0;
}

void change( int& a, int& b )
{
    if( a > b )
    {
        int t = b;
        b = a;
        a = t;
    }
}

我会这么写:
程序代码:
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;

    int z = (a+b)*(abs(a-b)+1)/2;

    cout << "z=" << z << endl;

    return 0;
}

2013-05-13 08:48
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:4 
尽量简单点,不能简单问题复杂化

Maybe
2013-05-13 09:54
快速回复:求助 帮忙看一下这个程序哪里不对
数据加载中...
 
   



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

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