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;	
 } 
相关推荐
To_OC9 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安14 小时前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者17 小时前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC1 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
用户938515635072 天前
从 O(n²) 到 O(nlogn):一文读懂快速排序的“快”与“妙”
javascript·算法
To_OC2 天前
手写快排次次翻车?别死背快排模板了,这才是面试官想听的底层逻辑
javascript·算法·排序算法
饼干哥哥2 天前
Reddit VOC调研太慢?搭一个AI专家团队半小时洞察任何品类|以猫用饮水机为例
人工智能·算法·ai编程