C语言实现3个数排序

1. 借助中间变量,实现排序

void function01(){
	
	int a,b,c,temp;    	               // 定义 4个基本整型变量, temp 是临时容器 
	printf("Please input a,b,c: \n");  // 提示输出语句
	scanf("%d,%d,%d",&a,&b,&c);	       // 接受输入的3个整型值 
	printf("您输入的三个数分别是: a = %d, b = %d, c = %d",a,b,c); // 先打印显示
	
	if( a > b ){	/* 如果 a > b ,借助中间变量temp,实现 a 与 b 值的互换*/
		temp = a ;
		a = b ;
		b = temp ;
	} 
	if( a > c ){	/*  如果a > c,借助中间变量temp,实现 a 与 c 值的互换*/ 
		temp = a ;
		a = c ;
		c = temp ; 
	} 
	if( b > c ){
		temp = b;
		b = c;
		c = temp; 
	}  
	
	printf("从小到大排序后输出如下 :\n");
	printf("%d,%d,%d",a,b,c); 
} 

优化: 大量重复功能代码的抽取成 函数

//引入第三方变量实现变量两个变量值的变化 
void function01( int i, int j ){
	int temp = a ;
	b = a ;
	a = temp ; 
 } 
 
//按位异或实现两个数值的变化
void function02( int i, int j ){
 	i = i ^ j ;
 	j = i ^ j ;
 	i = i ^ j ;
 } 

//通过加减换位实现数值交换
void function03( int i , int j ){
    i = i + j ;
    j = i - j ;
    i = i - j ;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值