第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;
}

运行结果:

学习心得:

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

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

时间: 2024-10-12 21:28:28

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

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

/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 12 月 17 日 * 版 本 号:v1.0 * * 问题描述:设计一个程序,输入三个整数,将其从大到小的顺序输出,要求 (1)排序功能通过函数实现,三个整数用三个变量,不必定义数组: (2)写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型作参数. * 输入描述:三个整数, * 程序输出:将

第5周项目3-用多文件组织多个类的程序-对象作数组成员

/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2015年 4 月 5 日 * 版 本 号:v1.0 * * 问题描述: 本项目设计一个三角形类,其数据成员不再是三角形三条边的边长,而是三角形的三个顶点. 利用设计的三角形类,输入三角形的三个顶点,求出其面积,周长,并判断其是否为直角三角形和等腰三角形. 将项目2用"一个项目多个文件"的方式实现,其中两个类

第17周项目6 阅读文件,多文件

要求: score.txt一些在校学生数.全名.C++..英语成绩,利用前面定义的结构体数组,读取文件score.txt中的数据,完毕以下的应用: 在这个程序採用多文件处理: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2gyMDE0NTg1MDExMDY=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" > main.cpp #include

C++中引用传递和指针传递函数参数的详解

先来分析指针这个东东: 从概念上讲,指针本质上就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 上面的图表示了程序运行时变量的值和地址,这时的内存长什么样子呢? 注意指针是一个变量,它当然有内存空间,里面存的就是一个地址,通过这个地址我们就能找到它所指向的对象. 说明:上图中两个字母p和n在最左边,代表什么?后面在介绍程序的编译过程中用到,先卖个官司.如果下面的写的东西你看不懂,没关系,往下看,我不相信你看完最后的编译原理的

17周(引用做形参 )

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:17周(引用做形参 ) *作者:王忠 *完成日期:2014.12.21 *版本号:v1.0 * *问题描述:输入3个数,按从大到小的顺序输出,fun1用指针,fun2引用 *输入描述:输入3个数 *程序输出:按从大到小的顺序输出 #include <iostream> using namespace std; void fun1(int *x,int *y,int *z);

2014秋C++ 第8周项目 分支程序设计

课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703.课程资源在云学堂"贺老师课堂"同步展示,使用的帐号请到课程主页中查看. 阅读并验证 阅读以下的两段程序,用"人脑"执行写出输出结果.再在计算机或手机上执行程序,对照自己写出的结果,进行反思.1.#include <iostream>using namespace std;int main(){    int a=1,b=2,c=3;

12周 项目4

最近一个问题很困扰我,今天则得到了答案,也意味着我该选择了. 不知道大家有没有遇到过这样的情况,我是上年刚毕业,大四时进行过java培训,12年9月-13年4月,在这之前已经自学过java.7月份时进入一家公司工作,今年3月份辞职,4月份找到工作,来上班了.一开始就不太喜欢公司氛围,前台,hr,态度什么的都不太好,工作环境也极像客服部,整天电话不断,讨论声不断,第一个星期真是煎熬,去了两三天之后有辞职的想法,但是后面想想还是算了,公司待遇还可以. 但是进入到公司后leader让学PHP,学PHP

2015级C++第7周项目 友元、共享数据保护、多文件结构

[项目1-成员函数.友元函数和一般函数有差别]參考解答 (1)阅读以下的程序,体会凝视中的说明(要执行程序,请找到课程主页并复制代码) //例:使用成员函数.友元函数和一般函数的差别 #include <iostream> using namespace std; class Time { public: Time(int h,int m,int s):hour(h),minute(m),sec(s) {} void display1(); //display1是成员函数 friend voi

Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式

转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下: Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-htt