课程首页地址: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; }