指针的基本操作(2)

指针的基本操作(2)

时间: 1ms        内存:128M

描述:

下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序
#include <iostream>
using namespace std;
int main( )
{
     int *p1,*p2,t;
     //本程序以下不准再加入新的变量,下面用new操作符分配空间,并用p1、p2分别保存其地址

     //下面输入两个整数。若无上面分配的空间,这样操作指赂的空间,极其危险
    cin>>*p1>>*p2;
    //下面加入的代码,只许出现p1,p2和t,不许出现a和b

    cout<<"Max="<<*p1<<" Min="<<*p2<<endl;  //p1和p2指向的分别是大值和小值,无论输入大小
    //下面写释放p1和p2所指向空间的语句

    return 0;
}

输入:

两个整数

输出:

按规定的格式,输出大值和小值

示例输入:

10 100

示例输出:

Max=100 Min=10

提示:

参考答案(内存最优[920]):

#include <stdio.h>
int main( )
{
    int *p1,*p2,*t;
	int a,b;
	scanf("%d%d",&a,&b);
	p1=&a;
	p2=&b;
	if(a<b)
	{
		t=p1;
		p1=p2;
		p2=t;
	}
	printf("Max=%d Min=%d\n",*p1,*p2);
    return 0;
}

参考答案(时间最优[0]):

#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指向的分别是大值和小值,无论输入大小
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注