标题:求帮忙查错
只看楼主
天外
Rank: 2
等 级:论坛游民
帖 子:29
专家分:16
注 册:2011-6-10
结帖率:100%
已结贴  问题点数:5 回复次数:3 
求帮忙查错
目的是用指针实现两个参数的交换并且实现输入三个数按降序输出
程序代码:
#include"iostream.h"
void swap(int *x,int *y);
int main()
{int a,b,c;
cin>>a>>b>>c;
if(a>b)
swap(&a,&b);
if(b>c)
swap(&b,&c);
if(a>c)
swap(&a,&c);
cout<<a<<b<<c;
    return 0;
}
void swap(int *x,int *y)
{int temp;
temp=*x,*x=*y,*y=temp;
}
搜索更多相关主题的帖子: 交换 
2012-09-28 11:39
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:1 
#include"iostream.h"
using namespace std; 少了这句
cin和cout都在std名称空间里声明的,使用的时候需要把这个名称空间打开或直接在cin或cout的前面加std::来使用。

My life is brilliant
2012-09-28 12:43
lz66608
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-9-28
得分:3 
算法出了错吧
if(a>b)
swap(&a,&b);//找出a,b中最小的值,a中保存的最小的值;
if(b>c)
swap(&b,&c);//此时应该先用a和c做比较,这样就找出3个当中最小的值,保存在a中;
if(a>c)
swap(&a,&c);//然后再比较b,c的值,把b,c中的小的存放在b中,这样就正确了.
********修改后的程序为:
if(a>b)
swap(&a,&b);
if(a>c)
swap(&a,&c);
if(b>c)
swap(&b,&c);


2012-09-28 12:57
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
得分:1 
从逻辑上看,都把大于改成小于才对。降序。

www.qunxingw.wang
2012-09-28 15:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382253-1-1.html




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

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