C++程序,输入两个整数,讲他们按由大到小的顺序输出。 程序如下。编译可以通过,但是链接时出现问题。
#include<iostream.h>intmain(){voidsort(int&,int&,int&);inta,b,c,a1,b1,c1;cout<<"pleas...
#include<iostream.h>int main(){ void sort(int &,int &,int &); int a,b,c,a1,b1,c1; cout<<"please input three integers:"; cin>>a>>b>>c; a1=a; b1=b; c1=c; sort(a1,b1,c1); cout<<a1<<" "<<b1<<" "<<c1<<endl; return 0;}void sort(int &i,int &j,int k){ void change(int &,int &); if(i>j)change(i,j); if(i>k)change(i,k); if(j>k)change(j,k);}void change(int *p,int *q){ int temp; temp=*p; *p=*q; *q=temp;}
展开
2个回答
2013-09-23
展开全部
你的代码编译不通过,这是我改好的代码。 而且你的代码是按从小到大输出的
#include<iostream>
using namespace std;
int main()
{
void sort(int &,int &,int &);
int a,b,c,a1,b1,c1;
cout<<"please input three integers:";
cin>>a>>b>>c;
a1=a; b1=b; c1=c;
sort(a1,b1,c1);
cout<<a1<<" "<<b1<<" "<<c1<<endl;
return 0;
}
void sort(int &i,int &j,int &k)
{
void change(int &,int &);
if(i>j) change(i,j);
if(i>k) change(i,k);
if(j>k) change(j,k);
}
void change(int &p,int &q)
{
int temp;
temp=p; p=q; q=temp;
}
#include<iostream>
using namespace std;
int main()
{
void sort(int &,int &,int &);
int a,b,c,a1,b1,c1;
cout<<"please input three integers:";
cin>>a>>b>>c;
a1=a; b1=b; c1=c;
sort(a1,b1,c1);
cout<<a1<<" "<<b1<<" "<<c1<<endl;
return 0;
}
void sort(int &i,int &j,int &k)
{
void change(int &,int &);
if(i>j) change(i,j);
if(i>k) change(i,k);
if(j>k) change(j,k);
}
void change(int &p,int &q)
{
int temp;
temp=p; p=q; q=temp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-23
展开全部
要使用命名空间,函数change声明和定义的形参不一致
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |