原题链接:整数大小比较
解题思路:C会自动进行有符号对无符号的转化,为避免比较大小时负数转化为无符号导致比较结果出错,不妨先对有符号进行正负判断。
注意事项:尤其注意题干要求的无符号整数和有符号整数范围,此处有一个易错点,如果直接简单认为xy都为Int型数据,在无符号数据超过2的31次方-1时,代码将会出错,所以简单设int x,int y这种做法是错误的,这样会导致部分数据比较大小时结果不对,比如x=4294967242,y=-1,程序会输出<。
参考代码:
#include <stdio.h>
unsigned int x;
int y;
int main() {
scanf("%u %d", &x, &y);
if (y < 0 || x > y)
printf(">") ;
else if (x < y)
printf("<") ;
else if (x == y)
printf("=");
return 0;
}
0.0分
4 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复