/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:刘畅
* 完成日期:2014 年 12 月 17 日
* 版 本 号:v1.0
*
* 问题描述:设计一个程序,输入三个整数,将其从大到小的顺序输出,要求
(1)排序功能通过函数实现,三个整数用三个变量,不必定义数组;
(2)写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型作参数。
* 输入描述:三个整数,
* 程序输出:将这三个整数从大到小输出。
#include <iostream>
using namespace std;
void exchange(int *q1,int *q2,int *q3);
void swap(int *p1,int *p2);
int main()
{
int *num1,*num2,*num3,a,b,c;
cin>>a>>b>>c;
num1=&a;
num2=&b;
num3=&c;
exchange(num1,num2,num3);
cout<<a<<" "<<b<<" "<<c;
}
void exchange(int *q1,int *q2,int *q3)
{
if (*q1<*q2)
swap (q1,q2);
if (*q1<*q3)
swap(q1,q3);
if (*q2<*q3)
swap(q2,q3);
}
void swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
运行结果:
学习心得:
指针最基础的写法格式上感觉已经掌握了,不过还是不大理解指针的用处,能提高效率但不知道如何去提高的,还得多看看书啊。
还有一个引用类作参数的版本着实还不会,待明天请教老师后再补上。求有大神能先指点指点引用类型做参数是怎么去应用的?