第十七周项目二 引用作形参-(1)用传地址和引用方法排序

来源:互联网 发布:没有网络能远程监控吗 编辑:程序博客网 时间:2024/05/16 19:02

项目要求:

设计一个程序,输入3个整数,将其按从大到小的顺序输出,要求:
写出两个版本的函数,一个采用传地址值的方法,另一个采用引用类型作参数

 

问题及代码:

#include <iostream>using namespace std;int sort1 (int &o,int &p,int &q);int sort2 (int *o,int *p,int *q);int main(){   int a=4,b=8,c=6;   cout<<"quote:"<<endl;   sort1(a,b,c);   cout<<"\nby reference:"<<endl;   sort2(&a,&b,&c);   return 0;}int sort1(int &o,int &p,int &q){    if (o<p)    {        if (o<q&&q<p)            cout<<p<<" "<<q<<" "<<o<<endl;        else if (o<q&&q>p)            cout<<q<<" "<<p<<" "<<o<<endl;        else            cout<<p<<" "<<o<<" "<<q<<endl;    }    else    {        if (p<q&&q<o)            cout<<o<<" "<<q<<" "<<p<<endl;        else if (p<q&&q>o)            cout<<q<<" "<<o<<" "<<p<<endl;        else            cout<<o<<" "<<p<<" "<<q<<endl;    }    return 0;}int sort2 (int *o,int *p,int *q){        if (*o<*p)    {        if (*o<*q&&*q<*p)            cout<<*p<<" "<<*q<<" "<<*o<<endl;        else if (*o<*q&&*q>*p)            cout<<*q<<" "<<*p<<" "<<*o<<endl;        else            cout<<*p<<" "<<*o<<" "<<*q<<endl;    }    else    {        if (*p<*q&&*q<*o)            cout<<*o<<" "<<*q<<" "<<*p<<endl;        else if (*p<*q&&*q>*o)            cout<<*q<<" "<<*o<<" "<<*p<<endl;        else            cout<<*o<<" "<<*p<<" "<<*q<<endl;    }    return 0;}

 

运行结果:

 

个人心得:

似乎用了比较复杂的写法…不过用上了引用思想,而且程序比较简单


 

0 0
原创粉丝点击