C语言题:输入三个整数,按由小到大的顺序输出用指针完成

如题所述

参考代码:

#include "stdio.h"

int main()

{

int x,y,z,max,min;

scanf("%d%d%d",&x,&y,&z);

if(x>y){

max=x;

min=y;

}

if(z>max) max=z;

if(min>z) min=z;

y=x+y+z-max-min;

x=max;

z=min;

printf("从大到小排序:%d %d %d\n",x,y,z);

}

/*

运行结果:

3 1 2

从大到小排序:3 2 1

*/

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-23

初学者,希望能帮到你,哈哈


#include"stdio.h"

void swap(int *pt1, int *pt2)

{

int temp;

temp=*pt1;

*pt1=*pt2;

*pt2=temp;

}

void exchange(int *q1, int *q2, int *q3)

{

void swap(int *pt1, int *pt2);

if(*q1 >*q2)

swap(q1,q2);

if(*q1 > *q3)

swap(q1,q3);

if(*q2 > *q3)

swap(q2,q3);

}

int main()

{

int n,m,j;

int *p1,*p2,*p3;

scanf_s("%d %d %d",&n,&m,&j);

p1=&n;

p2=&m;

p3=&j;

exchange(p1,p2,p3);

printf("%d %d %d\n",n,m,j);

return 0;

}

第2个回答  2019-05-23
#include<stdio.h>
void sort(int *a,int *b,int *c)
{
int t;
if(*a>*b)
{
t=*a;*a=*b;*b=t;
}
if(*a>*c)
{
t=*a;*a=*c;*c=t;
}
if(*b>*c)
{
t=*b;*b=*c;*c=t;
}
}
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
sort(&a,&b,&c);
printf("%d %d %d",a,b,c);
}本回答被提问者采纳