三个数进行排序

#include <stdio.h>
int main()
{
	float a, b, c;
	scanf("%f %f %f",&a,&b,&c);
	float ;
	if(a>b) 
	{
		if(b>c) 
		{
			
		}  
		else   
		{
		    if(a>c)
			else 	
		}
	 } 
	else
	{
		if(a>c) 
		else 
		{
			if(b>c)
		}
	}
	return 0;
}

六种情况都列举出来,但不知如何表示出来

#include <stdio.h>
int main()
{
	float a, b, c;
	scanf("%f %f %f",&a,&b,&c);
	float t,s;
	if(a>b) 
	{
		if(b>c) 
		{
			;                    //a,b,c
		}   
		else                     //a,b   c,b
		{
		    if(a>c)              //a,c,b
		    {
		    	t=c;
				c=b;
				b=t; 
			}
			else                 //c,a,b
			{
			    t=a;
				a=c;
				c=t;
				
				s=c;
				c=b;
				b=s;	
			} 	
		}
	 } 
	else
	{
		if(a>c)               //b,a,c
		{
			t=a;
			a=b;
			b=t;
		}
		else                   //b,a    c,a
		{
			if(b>c)
			{
				t=a;           //b,c,a
				a=b;
				b=t;
				
				s=b;
				b=c;
				c=s;
			}                  
			else
			{                   //c,b,a 
			    t=a;
				a=c;
				c=t; 
			}                      
		}
	}
	
	printf("%f %f %f",a,b,c);
	return 0;
}

最后结果表示有些问题

简化版本

使用如上法, 输出a,b,c, 互相通过比较大小交换值

#include <stdio.h>
int main()
{
	double a, b, c;
	scanf("%lf %lf %lf",&a,&b,&c);
	double temp;
	if(a<b)  
	{
		temp = a;
		a = b;
		b = temp;
	}
	if(a<c)
	{
		temp = a;
		a = c;
		c = temp;
	}
	if(b<c)
	{
		temp = b;
		b = c;
		c = temp;
	}
	
	
	printf("%.2lf %.2lf %.2lf",a,b,c);
	return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务