Problem B: 字符的距离(III)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 625 Solved: 258
[ Submit][ Status][ Web Board]
Description
定义两个字母之间的距离是它们之间的字母的个数。将26个英文字母排成一个环,那么两个字母之间的间距既可以按照顺时针计算,也可以按照逆时针计算。如:字母a和c之间,如果按照顺时针,它们的距离就是1;如果按照逆时针计算,距离是23。定义同一个字母的顺时针和逆时针距离均为0。
现在读取输入的两个英文字母,分别计算它们顺时针距离和逆时针距离。
Input
两个英文字母,中间用一个空格隔开。
Output
两个字母的顺时针距离和逆时针距离,中间用一个空格隔开。
Sample Input
a c
Sample Output
1 23
HINT
注意:输入的不一定都是小写字母!!!
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c2, c1;
scanf("%c %c", &c1, &c2); // %c之间必须有'space', 否则c2 = 'space'
if(c1 <= 'Z')
c1 += 32;
if(c2 <= 'Z')
c2 += 32;
if(c1 < c2)
printf("%d %d", c2 - c1 - 1, 25 - (c2 - c1));
else if(c1 > c2)
printf("%d %d", 25- (c2 - c1), c2 - c1 - 1);
else
printf("%d %d", 0, 0);
return 0;
}