首页 > 代码库 > OJ刷题之《输入三个整数,按由小到大的顺序输出》

OJ刷题之《输入三个整数,按由小到大的顺序输出》

题目描述

输入三个整数,按由小到大的顺序输出。分别使用指针和引用方式实现两个排序函数。在主函数中输入和输出数据。

输入

三个整数

输出

由小到大输出成一行,每个数字后面跟一个空格。由指针方式实现。

由小到大输出成一行,每个数字后面跟一个空格。由引用方式实现。

样例输入

2 3 1

样例输出

1 2 3 1 2 3 

提示

 主函数已给定如下,提交时不需要包含下述主函数



/* C++代码 */

int main()

{

    void sort1(int *,int *,int *);

    void sort2(int &,int &,int &);

    int n1,n2,n3;

    int *p1,*p2,*p3;

    int r1,r2,r3;

    cin>>n1>>n2>>n3;

    r1=n1;

    r2=n2;

    r3=n3;

    p1=&n1;

    p2=&n2;

    p3=&n3;

    sort1(p1,p2,p3);

    cout<<n1<<" "<<n2<<" "<<n3<<endl;

    sort2(r1,r2,r3);

    cout<<r1<<" "<<r2<<" "<<r3<<endl;

    return 0;

}

 

代码如下:

#include <iostream>using namespace std;void sort1(int *p1,int *p2,int *p3){    int t;    if (*p1>*p2)    {        t=*p1;        *p1=*p2;        *p2=t;    }    if (*p2>*p3)    {        t=*p2;        *p2=*p3;        *p3=t;    }    if (*p1>*p2)    {        t=*p1;        *p1=*p2;        *p2=t;    }}void sort2(int &r1,int &r2,int &r3){    int t;    if (r1>r2)    {        t=r1;        r1=r2;        r2=t;    }    if (r2>r3)    {        t=r2;        r2=r3;        r3=t;    }    if (r1>r2)    {        t=r1;        r1=r2;        r2=t;    }}int main(){    void sort1(int *,int *,int *);    void sort2(int &,int &,int &);    int n1,n2,n3;    int *p1,*p2,*p3;    int r1,r2,r3;    cin>>n1>>n2>>n3;    r1=n1;    r2=n2;    r3=n3;    p1=&n1;    p2=&n2;    p3=&n3;    sort1(p1,p2,p3);    cout<<n1<<" "<<n2<<" "<<n3<<endl;    sort2(r1,r2,r3);    cout<<r1<<" "<<r2<<" "<<r3<<endl;    return 0;}


运行结果:

还是无法上传,都跑到机房来刷题了,,,csdn又要升级么。。。

 

 

 

OJ刷题之《输入三个整数,按由小到大的顺序输出》