乍一看,这也太简单了吧
直接判断就行了
于是我提交了以下代码
#include <stdio.h>
int x, y;
main() {
scanf("%d%d", &x, &y);
if (x > y) {
printf(">");
} else if (x == y) {
printf("=");
} else {
printf("<");
}
}
但是大大的90分告诉我不对劲
再看一眼,爆炸
原来数据范围是
在unsigned int 范围内(无符号整型),在int范围内
那我们改一下数据类型就行了
#include <stdio.h>
unsigned int x;
int y;
main() {
scanf("%d%d", &x, &y);
if (x > y) {
printf(">");
} else if (x == y) {
printf("=");
} else {
printf("<");
}
}
然而大大的50分再次打了我的脸
我突然想起无符号整型和有符号整型的比较属于未定义行为
所以最简单的方法就是将他们都定义为long long(超长整型)类型
注意用scanf和printf进行输入输出long long类型时用%lld控制符,具体看这
#include <stdio.h>
long long x, y;
main() {
scanf("%lld%lld", &x, &y);
if (x > y) {
printf(">");
} else if (x == y) {
printf("=");
} else {
printf("<");
}
}