您的位置:首页 > 其它

USACO 1.1.1 Your Ride Is Here (ride)

2010-12-17 18:26 330 查看
**USACO地址:http://ace.delos.com/usacogate

输入两个大写(upper case)字符串计算它们的相似性。

主要在于将每个字符转换成相应的数字("A" is 1 and "Z" is 26)。根据ASCII字符表,字符‘@’在'A'之前,故将任一大写字母减去‘@’可得对应的数字。

注意:容易出错的是sa和sb的类型,int很可能会溢出。

/*
ID: gengjia1
LANG: C
TASK: ride
*/
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fin = fopen ("ride.in", "r");
FILE *fout = fopen ("ride.out", "w");
char a[7],b[7];
long sa = 1, sb = 1;
int i = 0;
fscanf (fin, "%s/n%s", a, b);
while (a[i] != '/0') {
sa *= a[i] - '@';
i += 1;
}
i = 0;
while (b[i] != '/0') {
sb *= b[i] - '@';
i += 1;
}
if ((sa % 47) == (sb % 47))
fprintf (fout, "GO/n");
else
fprintf (fout, "STAY/n");
exit(0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: