C语言比较两整数大小的程序疑问

来源:百度知道 编辑:UC知道 时间:2024/06/02 02:54:47
如输入两个整数,按从小到大排列
int a,b,t;
scanf("%d,%d",&a,&b);
if(a>b)
{t=b,a=b,a=t;}
printf("%d,%d",a,b);

是不是只能用这个方法让两个数按大小顺序排列?
有没有其他的方法?

int a,b,num;
scanf("%d,%d",&a,&b);
num=a+b;
a=a+b-(a>b?a:b);
b=num-b;
printf("%d,%d",a,b);

int *p1,*p2,*t;
int a=50,b=20;;
p1=&a;
p2=&b;

if(*p1>*p2)
{
t=p1;p1=p2;p2=t;
}

(1)
if(a>b)
{t=b;a=b;a=t;}

(2)
if(a>b)
{a=a+b ; b=a-b;a=a-b;}

(3) if(a>b)
{a=a^b;b=b^a;a=a^b;}

呵呵.如果就是两个数,还用那么复杂吗?
if(a>b)
printf("%d,%d",b,a);
else
printf("%d,%d",a,b);

同学 C语言实现目的有非常非常多的方法
开动脑筋 没有什么是你想不到的
原题只用了“>”的比较方法
你也可以用"<",或者直接对他们进行比较 if(a>b),这样得到的结果是0或者1,接下来想怎么办就看你自己的了

方法一:不需要临时变量
int a,b;
scanf("%d,%d",&a,&b);
if(a>b)
{
a = a + b;
b = b - a;
a = a + b ;
b *= -1;
}
printf("%d,%d",a,b);

方法二:
int a,b;
scanf("%d,%d",&a