每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小
2010-11-20 09:54
447 查看
每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小
问题描述:编写一个函数f,在函数f中,不能够使用算术运算符,实现比较输入两个整数的功能。思路:
1.考虑使用绝对值来实现,但是这中方法其实还是在间接地使用了算术运算符,因为在abs函数中,存在数值的判定。
大的为 ((a+b)+abs(a-b)) / 2
小的为 (a+b - abs(a-b)) / 2
实现代码:
int max1_large(int a, int b) { return ( (a + b) + abs(a - b) ) / 2; } int max1_small(int a, int b) { return ( (a + b) - abs(a - b) ) / 2; }
相关文章推荐
- 每日一题:编写一个函数,不使用算术运算符,实现比较两个数的大小
- 编写一个函数比较两个整数大小,但不能使用任何比较操作符
- 编写一个程序 用宏实现两个数的比较大小
- .编写一个函数实现n^k,使用递归实现
- 【C语言】编写一个函数实现n^k,使用递归实现。
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
- 5.编写一个程序,有两个类,其中类MAX中具有两个方法,方法名都是max,一个方法能够比较两个数的大小,另外一个方法能够比较三个数的大小。在另外一个类中创建对象,调用这两个方法,分别输出两组数:2、6
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
- 编写一个函数实现n^k,使用递归实现
- 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数
- 编写一个函数实现n^k,分别使用递归和非递归实现
- 【c语言】编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数
- 编写一个函数实现n^k,使用递归实现
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句
- 编写一个函数实现n^k,使用递归实现
- 编写一个函数实现n^k,使用递归实现
- 编写查找一个单链表特定元素的程序。分别使用递归和非递归方法实现,并比较它们的运行时间。
- 编写一个函数实现n^k,使用递归实现
- 请定义一个宏,比较两个数的a、b的大小,不能使用大于、小于、if语句(转载)