注册 登录
编程论坛 C++教室

求帮忙查错

天外 发布于 2012-09-28 11:39, 359 次点击
目的是用指针实现两个参数的交换并且实现输入三个数按降序输出
程序代码:
#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;
}
3 回复
#2
lz10919149992012-09-28 12:43
#include"iostream.h"
using namespace std; 少了这句
cin和cout都在std名称空间里声明的,使用的时候需要把这个名称空间打开或直接在cin或cout的前面加std::来使用。
#3
lz666082012-09-28 12:57
算法出了错吧
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);


#4
qunxingw2012-09-28 15:44
从逻辑上看,都把大于改成小于才对。降序。
1