请设计一个程序 输入三个整数 要求从大到小的顺序输出

 

#include<stdio.h>
int main(){
	void exchangge(int *q1,int * q2, int *q3);  //先定义三个形参指针
	int a,b,c,*p1,*p2,*p3;  //在定义三个变量,a,b,c
	scanf("%d,%d,%d",&a,&b,&c); //a,b,c分别接收键盘输入
	p1=&a;  //p1.p2.p3分别指向abc
	p2=&b;
	p3=&c;
	exchange(p1,p2,p3); //调用实参函数,调用结束后不会改变指针的指向
	printf("%d,%d,%d\n",a,b,c); //最后输出a,b,c
	return 0;
}
void enchange(int *q1,int *q2,int *q3){
	void swap(int *pt1,int *pt2);
	if(*q1<*q2)swap(q1,q2);  //swap是交换函数,对输入的三个数进行比较
	if(*q1<*q3)swap(q1,a3);
	if(*q2<*q3)swap(q2,q3);
}
void swap(int *pt1,int *pt2){  //定义形参
	int temp;
	temp=*pt1;
	*pt1=*pt2;
	*pt2=temp;   //交换指针指向的变量值
}

 

用三元表达式就可以

#include <stdio.h>

int main(void)
{
	int a,b,c,d;
	printf("输入三个整数:\n");
	scanf("%d%d%d",&a,&b,&c);
	if(a>b)
	{
		d=a;a=b;b=d;		
	}
	if(a>c)
	{
		d=c;c=a;a=d;	
	}
	if(b>c)
	{
		d=b;b=c;c=d;	
	}
#if 1   //当把1换成0是就是从大到小排列
    printf("%d %d %d\n",a,b,c);
#else
    printf("%d %d %d\n",c,b,a);
#endif 
    return 0;
}

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢
 

void main()
{
    int a[3];
    scanf("%d %d %d",a,a+1,a+2);
    int i,j;
    for(i=0;i<2;i++)
    {
        for(j=0;j<2-i;j++)
        {
            if(a[j] < a[j+1])
            {
                int t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
        }
    }
    printf("%d,%d,%d",a[0],a[1],a[2]);
}

??

代码如下:

#include <stdio.h>

void fun(int *a,int *b,int *c)
{
	int max ;
	int min ;
	int avg ;
	max = *a > ( *b > *c ? *b:*c)? *a :( *b > *c ? *b:*c);
	min = *a < ( *b < *c ? *b:*c)? *a :( *b < *c ? *b:*c);
	avg = (*a + *b + *c) - max - min;
	*a = max;
	*b = avg;
	*c = min;
}

int main()
{
	int a,b,c;
	printf("请输入3个数:");
	scanf("%d %d %d",&a,&b,&c);
	printf("排序前:a=%d b=%d c=%d\n",a,b,c);
	fun(&a,&b,&c);
	printf("排序后:a=%d b=%d c=%d\n",a,b,c);
	return 0;

}
#include<stdio.h>

int main(void)
{

    int a,b,c,t;

    printf("请输入三个整数:\n");

    scanf("%d,%d,%d",&a,&b,&c);

    if(a<b){//完成a和b值的交换,a里面放最大值

        t=a;

        a=b;

        b=t;

    }

    if(a<c){//完成a和c值的交换,a里面放最大值

        t=a;

        a=c;

        c=t;

    }

    if(b<c){//完成b和c值的交换,a里面放最大值

        t=b;

        b=c;

        c=t;

    }

    printf("%d %d %d\n",a,b,c);

    return 0;


}