百度面试题——简单运算

问题:要求不使用+ - * / < >运算符号判定给定两个非零数的大小。

输入:多组输入两个数a和b。

输出:输出min=较小的数字,max=较大的数字

实现代码:


#include <stdio.h>

int main(int argc,char* argv[]){
	int a,b;
	for(;~scanf("%d%d",&a,&b);){
		if((a&0x80000000)==(b&0x80000000)){
			if(a&0x80000000){
				printf("min=%d,max=%d\n",a%b==a?b:a,a%b!=a?b:a);
			}
			else
				printf("min=%d,max=%d\n",a%b==a?a:b,a%b!=a?a:b);
		}
		else{
			if(a&0x80000000) printf("min=%d,max=%d\n",a,b);
			else printf("min=%d,max=%d\n",b,a);
		}
	}
	system("pause");
	return 0;
}



运行结果:

猜你喜欢

转载自yuhuang-neil.iteye.com/blog/1456489
今日推荐