用指针比较两数的大小(2)

指针的基本操作(2)

下面的程序,输入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;

}

解:

/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:杨汉宁
*完成日期:2014年 12月 4日
*版本号:v1.0
*
*问题描述:用指针比较两数的大小
*程序输入:
*程序输出:
*/
#include <iostream>
using namespace std;
int main( )
{
    int *p1,*p2,t;
    p1=new int(100);
    p2=new int(100);
    cin>>*p1>>*p2;
    if(*p1<*p2)
    {
        t=*p1;
        *p1=*p2;
        *p2=t;
    }
    cout<<"Max="<<*p1<<" Min="<<*p2<<endl;
    return 0;
}

时间: 2024-10-25 12:00:00

用指针比较两数的大小(2)的相关文章

问题 : 用指针????求两数的和与两数的差

问题 : 两数和与差(用参数带回结果) 题目描述 下面的程序,输入两个整数,调用函数ast后,输出了两数之和及两数之差.阅读程序,补全程序中空白处. #include <iostream> using namespace std; void ast(int x,int y,int *cp,int *dp) { //补全函数的定义 ___(1)____=x+y; ___(2)____=x-y; } int main() { int a,b,c,d; cin>>a>>b;

指针实现两数交换和指向函数的指针

指针就是地址,而指针变量就是存储地址的变量. 1.指针与函数 利用指针解决: C语言中函数的参数采用"单向传递",故第一个程序中改变形参不会改变实参,而在第二个程序中,使用指针变量作为参数,改变指针变量所指向的值,函数调用结束后,变量值被保留下来. 2.指向函数的指针的应用

24.定义一个整型变量,赋予1-100值。要求用户猜这个数,比较两数大小,把结果提示给用户,直到猜对为止

? #include<iostream> using namespace std; int main() { int a=50; int n; while(1)//关键,造成一个死循环 { cout<<"please input an number: "<<endl; cin>>n; if(a==n)//循环退出条件 { cout<<"n="<<n<<endl; break; }el

算法练习:两数之和

题目:给定一个整型数组,是否能找出两个数使其和为指定的某个值?注:整型数组中不存在相同的数. 一.解题方法 1.暴力破解法(时间复杂度O(n^2) ) 这是最容易想到的一种方法,即使用两层循环,从数组里取出一个数,然后在此数之后部分找出另外一个数,计算两数之和,判断是否等于指定值.如下: //直观的办法,使用两个循环 bool IsExistSumOfTwoNum( int nArray[], int nCount, int nSum ) { bool bRet = false; for ( i

两数之和,三数之和,最接近的三数之和,四数之和

LeetCode有一系列做法套路相同的题目,N数之和就可以算一个 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 第一个解决办法,简单暴力,堆for循环就是,但

[LintCode/LeetCode]——两数和、三数和、四数和

LintCode有大部分题目来自LeetCode,但LeetCode比较卡,下面以LintCode为平台,简单介绍我AC的几个题目,并由此引出一些算法基础. 1)两数之和(two-sum) 题目编号:56,链接:http://www.lintcode.com/zh-cn/problem/two-sum/ 题目描述: 给一个整数数组,找到两个数使得他们的和等于一个给定的数 target. 你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标.注意这里下标的范围是 1

排序练习题(六):相邻两数最大差值

有一个整形数组A,请设计一个复杂度为O(n)的算法,算出排序后相邻两数的最大差值. 给定一个int数组A和A的大小n,请返回最大的差值.保证数组元素多于1个. 测试样例: [1,2,5,4,6],5 返回:2 public class Gap { public int maxGap(int[] A, int n) { // write code here if(null == A ||n<2) return 0; int min=Integer.MAX_VALUE; int max=Intege

LeetCode 167. Two Sum II - Input array is sorted (两数之和之二 - 输入的是有序数组)

Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target, where index1 m

算法--相邻两数最大差值

相邻两数最大差值 代码实现 1 package com.hzf.sort; 2 3 import org.junit.Test; 4 5 /** 6 * 有一个整形数组A,请设计一个复杂度为O(n)的算法,算出排序后相邻两数的最大差值. 7 * 8 * 给定一个int数组A和A的大小n,请返回最大的差值.保证数组元素多于1个. 9 * 10 * 测试样例: [1,2,5,4,6],5 11 * 返回:2 12 * 13 * @author hzf 14 * 15 */ 16 public cla