Description
将输入的四个整数按由大到小的顺序输出。
已定义如下swap函数,可实现形参pa和pb所指内存单元的内容交换。请务必使用本函数实现两个变量内容的互换。
void swap( int *pa, int *pb)
{
int t;
t=*pa; *pa=*pb; *pb=t;
}
Input
输入4个整数,用空格隔开。
Output
输出排序后的4个整数,由空格隔开。输出占一行。
Sample Input
4 3 5 2
Sample Output
5 4 3 2
HINT
#include<stdio.h>
void swap(int *pa, int *pb );
int main ()
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
if (b>a) //b>a,交换a,b,将大的数往前移,因而输出abcd
{
swap(&a,&b); //此时将a的地址赋给指针*pa,b同理
}
if (c>a)
{
swap(&a,&c);
}
if (d>a)
{
swap(&a,&d);
}
if (c>b)
{
swap(&b,&c);
}
if (d>b)
{
swap(&b,&d);
}
if (d>c)
{
swap(&c,&d);
}
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}
void swap ( int *pa ,int *pb )
{
int t;
t=*pa;
*pa=*pb;
*pb=t;
}
//冒泡排序
#include<iostream>
using namespace std;
void swap (int *pa,int *pb);
int main ()
{
int i,j;
int str[100];
for (i=0 ; i<4 ; i++)
{
cin>>str[i];
}
for ( i=0 ; i<3 ; i++ )
{
for (j=i+1;j<4;j++)
if (str[i]<str[j]) //第二个数大于第一个数,两者交换,大的放前面
{
swap(&str[i],&str[j]);
}
}
for ( i=0 ; i<3 ; i++ )
cout<<str[i]<<' ';
cout<<str[3]<<endl;
return 0;
}
void swap (int *pa,int *pb) //*pb比*pa较靠前
{
int t;
t=*pa;
*pa=*pb;
*pb=t;
}