问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 12 月 4 日
* 版 本 号:v1.0
*
* 问题描述: 下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序。
* 输入描述:10 100和100 10。
* 程序输出:max=100 min=10;
*/
#include <iostream>
using namespace std;
int main( )
{
int *p1,*p2,t;
//本程序以下不准再加入新的变量,下面用new操作符分配空间,并用p1、p2分别保存其地址
p1=new int;
p2=new int;
//下面输入两个整数。若无上面分配的空间,这样操作指赂的空间,极其危险
cin>>*p1>>*p2;
//下面加入的代码,只许出现p1,p2和t,不许出现a和b
if(*p1<*p2)
{
t=*p1;
*p1=*p2;
*p2=t;
}
cout<<"Max="<<*p1<<" Min="<<*p2<<endl; //p1和p2指向的分别是大值和小值,无论输入大小
//下面写释放p1和p2所指向空间的语句
delete p1,p2;
return 0;
}
运行结果:
学习感悟:一开始纠结了好久,最后才发现开辟一个新地址,指针变量前面不用加*