Comparison of Android versions
As an Android developer, itˇs really not easy to figure out a newer version of two kernels, because Android is updated so frequently and has many branches. Fortunately, Google identifies individual builds with a short build code, e.g. FRF85B.
The first letter is the code name of the release family, e.g. F is Froyo. The code names are ordered alphabetically. The latest code name is K (KitKat).
The second letter is a branch code that allows Google to identify the exact code branch that the build was made from, and R is by convention the primary release branch.
The next letter and two digits are a date code. The letter counts quarters, with A being Q1 2009. Therefore, F is Q2 2010. The two digits count days within the quarter, so F85 is June 24 2010.
Finally, the last letter identifies individual versions related to the same date code, sequentially starting with A; A is actually implicit and usually omitted for brevity.
Please develop a program to compare two Android build numbers.
InputThe first line is an integer n (1 <= n <= 2000), which indicates how many test cases need to process.
Each test case consists of a single line containing two build numbers, separated by a space character.OutputFor each test case, output a single line starting with ¨Case #: 〃 (# means the number of the test case). Then, output the result of release comparison as follows:
● Print "<" if the release of the first build number is lower than the second one;
● Print "=" if the release of the first build number is same as he second one;
● Print ">" if the release of the first build number is higher than the second one.
Continue to output the result of date comparison as follows:
● Print "<" if the date of the first build number is lower than the second one;
● Print "=" if the date of the first build number is same as he second one;
● Print ">" if the date of the first build number is higher than the second one.
If two builds are not in the same code branch, just compare the date code; if they are in the same code branch, compare the date code together with the individual version.Sample Input
2
FRF85B EPF21B
KTU84L KTU84M
Sample Output
Case 1: > >
Case 2: = <
题意:先比较第一个字母的大小,输出一个符号,比较第二个,要是相等就比较后4个,不相等就比较接下来的3个
#include <stdio.h>
#include <string.h>
int main()
{
char s1[7],s2[7],b[5],d[5];
int i,n,j;
scanf("%d",&n);
getchar();
for(i=1;i<=n;i++)
{
memset(b,0,sizeof(b));
memset(d,0,sizeof(d));
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
scanf("%s %s",&s1,&s2);
printf("Case %d: ",i);
if(s1[0]==s2[0])
printf("= ");
else
if(s1[0]>s2[0])
printf("> ");
else
if(s1[0]<s2[0])
printf("< ");
int k=0;
if(s1[1]!=s2[1])
{
for(j=2;j<=4;j++)
b[k++]=s1[j];
b[k]=0;
k=0;
for(j=2;j<=4;j++)
d[k++]=s2[j];
d[k]=0;
}
else
{
for(j=2;j<=5;j++)
b[k++]=s1[j];
b[k]=0;
k=0;
for(j=2;j<=5;j++)
d[k++]=s2[j];
d[k]=0;
}
if(strcmp(b,d)==0)
printf("=");
else
if(strcmp(b,d)>0)
printf(">");
else
if(strcmp(b,d)<0)
printf("<");
puts("");
}
return 0;
}