编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以及任何的比较语句
来源:互联网 发布:unity3d抗锯齿设置 编辑:程序博客网 时间:2024/05/29 18:47
总结收集的以下几种算法设计:
第一种(跟要求有差别):
<pre name="code" class="cpp">#include<iostream>using namespace std;int max(int a,int b){return (((a-b) & 0x80000000) ? b : a);}void main(){cout<<max(3,2)<<endl;cout<<max(6,5)<<endl;}
第二种:
int Max( int a, int b ) { unsigned int flag = static_cast<unsigned int>(a - b); flag = flag >> 31; //得到符号位,为0则a大,为1则b大 int array[] = {a, b}; //以flag为数组下标判断较大的数 return array[flag]; } int main() { cout<<Max(3, 6)<<endl; return 0; }
第三种:
<pre name="code" class="cpp">#include<iostream>#include <windows.h>#include <cmath>using namespace std;int Max( int a, int b ) { byte flag = a - b; //255 flag = flag >> 7; //得到符号位 int array[] = {a, b}; //以flag为数组下标判断较大的数 return array[flag]; }int main(){ cout<<Max(3, 6)<<endl; return 0;}
第四种:
int Max( int a, int b ) {int c = (a + b + fabs(a-b)) / 2;return c;}int main(){cout<<Max(3, 6)<<endl;return 0;}
0 0
- 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以及任何的比较语句
- 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以及任何的比较语句
- C语言笔试题精选1---求两个数之间较大的数,不使用if、while、switch、for、?:/以及任何比较语句
- 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
- 求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)
- 求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)
- 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
- 求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A? B:C)
- 求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case等关键字 以及条件判断语句(A?B:C)
- 比较两个数a、b的大小,不能使用大于/小于、if、switch,?:等判断语句
- 比较两个数a、b的大小,不能使用大于/小于、if、switch,?:等判断语句
- 有两个变量a和b,不用if等判断语句,求两者较大的值
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。Java实现
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
- 121221
- 使用sar工具进行cpu/mem/io/network等性能分析
- WCF学习笔记—Overview
- 2015腾讯软开类笔试题(回忆版)
- 数据挖掘、数据分析、海量数据处理的面试题(总结july的博客)
- 编写函数求两个整数 a 和 b 之间的较大值。要求不能使用if, while, switch, for, ?: 以及任何的比较语句
- cadence16.5中总线拓扑的设置方法
- Java反射机制研究
- 抢占式任务调度和非抢占式(轮询任务调度)的区别,以及任务调度算法的用途。
- cadence16.5中XNET的设置方法
- cadence16.5中区域约束规则的设置
- C#中的Parse转换和Convert转换
- 最简单的shell程序——yash
- 如何重装系统以及锐捷V1.61在win7上无法运行的问题