DOTCPP题目 2782: 整数大小比较

一、题目

题目描述

输入两个整数,比较它们的大小。

输入格式

一行,包含两个整数x和y,中间用单个空格隔开。

0 <= x < 2^32, -2^31 <= y < 2^31。

输出格式

一个字符。

若x > y,输出 > ;

若x = y,输出 = ;

若x < y,输出 < 。

样例输入

复制

1000 100

样例输出

复制

>

二、分析


0 <= x < 2^32, -2^31 <= y < 2^31,x是无符号数,而当y<0时是有符号数,考虑这种特殊情况,有符号数会转化成比无符号数还大的数,导致结果错误。例如:x=4294967242,y=-1,程序会输出<。

三、代码

cpp 复制代码
#include<stdio.h>

int main()
{
	/*C语言
	当有符号数n(-2^31~2^31-1)和无符号数据m(0~2^32-1)进行比较时,
	会进行将有符号的数据转化为无符号的数据,
	而且这种转换会使有符号的被转换成大于无符号的一个最大的值
	所以,当m是无符号数时,n<0,n作为有符号数,n会被转换,
	所以要输出>号 
	*/	 
	int n;
	unsigned int m; 
	scanf("%d %d",&m,&n);
	if(m>n || n<0){ //n<0时,作为有符号数 
		printf(">");
	} else if(m==n){
		printf("=");
	}else{
		printf("<");
	}
	return 0;	
 } 
相关推荐
算AI14 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh16 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之16 小时前
选择排序笔记
java·算法·排序算法
烂蜻蜓17 小时前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf17 小时前
图论----拓扑排序
算法·图论
我要昵称干什么17 小时前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ17 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl17 小时前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
守正出琦17 小时前
日期类的实现
数据结构·c++·算法
ChoSeitaku17 小时前
NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)
c++·算法·蓝桥杯