题目:Comparison of Android versions
题意:给定两个序列号,比较它们的大小。
首先比较第一个字母,按照大小输出>, = 或 <。
对于第二个大小。首先比较第三个字母,如果第三个字母能分出大小,则给出结果。
否则,比较第四和第五位的两个数字组成的两位数,如果能分出大小,则给出结果。
如果数字还是相等了,就看看第二个字母,如果第二个字母不同,则认为它们相等。
否则,由最后一个字母决定它们的大小关系。
#include<cstdio>
#include<cstring>
int T;
char a[10], b[10];
int judge(){
int A = a[3]*10+a[4];
int B = b[3]*10+b[4];
if(a[2]<b[2]) return -1;
if(a[2]>b[2]) return 1;
if(A<B) return -1;
if(A>B) return 1;
if(a[1]==b[1]){
if(a[5]<b[5]) return -1;
if(a[5]==b[5]) return 0;
return 1;
}
return 0;
}
int main(){
scanf("%d", &T);
for(int t=1; t<=T; t++){
scanf("%s %s", a, b);
printf("Case %d: ", t);
if(a[0]<b[0]) putchar('<');
else if(a[0]==b[0]) putchar('=');
else putchar('>');
int x = judge();
putchar(' ');
if(x<0) putchar('<');
else if(x==0) putchar('=');
else putchar('>');
puts("");
}
return 0;
}