常规方法:
// 输入3个数,要求按从小到大顺序输出
#include <stdio.h>
int main()
{
int a,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d%d",&a,&b,&c);
if(a > b)
{
t = a;
a = b;
b = t;
}
if(a > c)
{
t = a;
a = c;
c = t;
}
if(a>d)
{
t=a;
a=d;
d=t;
}
if(b > c)
{
t = b;
b = c;
c = t;
}
printf("从小到大的顺序是:%d %d %d %d\n",a,b,c);
return 0;
}
指针法
#include<stdio.h>
int main()
{ int class(int *a,int *b,int *c);
int *saber,*lancer,*caster,a,b,c;//三个数比较大小
saber=&a;lancer=&b;caster=&c;
printf("输出三个数:");scanf("%d %d %d",&a,&b,&c);
putchar('\n');
class(saber,lancer,caster);
printf("从大到小排序:%d %d %d",a,b,c);
}
int class(int *a,int *b,int *c)
{
int fgo(int *a,int *b);
if(*a<*b)
fgo(a,b);
if(*a<*c)
fgo(a,c);
if(*b<*c)
fgo(b,c);
}
int fgo(int *a,int *b)
{
int c;
c=* a;* a=* b;* b=c;
}