首页 > 代码库 > 第17周项目2--引用作行参(三数排序(指针作参数))

第17周项目2--引用作行参(三数排序(指针作参数))

/* 
* 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;
}

 

运行结果:


学习心得:

指针最基础的写法格式上感觉已经掌握了,不过还是不大理解指针的用处,能提高效率但不知道如何去提高的,还得多看看书啊。

还有一个引用类作参数的版本着实还不会,待明天请教老师后再补上。求有大神能先指点指点引用类型做参数是怎么去应用的?

第17周项目2--引用作行参(三数排序(指针作参数))