课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565
【项目4-指来指去】设计一个程序,利用指针完成下面的工作
(1)下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整
#include <iostream>
using namespace std;
int main( )
{
int *p1,*p2,a,b,t;
cin>>a>>b;
p1=&a;
p2=&b;
//下面加入代码,只许用p1,p2和t,不许用a和b,t作为交换时的中间变量
cout<<"max="<<a<<" min="<<b<<endl;
return 0;
}
参考解答:
#include <iostream>
using namespace std;
int main( )
{
int *p1,*p2,a,b,t;
cin>>a>>b;
p1=&a;
p2=&b;
//下面加入代码,只许用p1,p2和t,不许用a和b,t作为交换时的中间变量
if(*p1<*p2)
{
t=*p1;
*p1=*p2;
*p2=t;
}
cout<<"max="<<a<<" min="<<b<<endl;
return 0;
}
(2)下面的程序将调用函数进行变量的交换,请设计出交换的函数
#include <iostream>
using namespace std;
int main( )
{
int a,b;
cin>>a>>b;
jiaohuan(&a,&b);
cout<<"交换后:a="<<a<<" b="<<b<<endl;
return 0;
}
//下面定义jiaohuan;
参考解答
#include <iostream>
using namespace std;
void jiaohuan(int *p1, int *p2);
int main( )
{
int a,b;
cin>>a>>b;
jiaohuan(&a,&b);
cout<<"交换后:a="<<a<<" b="<<b<<endl;
return 0;
}
//下面定义jiaohuan;
void jiaohuan(int *p1, int *p2)
{
int t;
if(*p1<*p2)
{
t=*p1;
*p1=*p2;
*p2=t;
}
return;
}