//练手的第一题,比较简单,其实就是字符串操作。
/*
ID:fairchi1
PROG: ride
LANG:C++
*/
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
ifstream fin ("ride.in");
ofstream fout("ride.out");
string e, c;
fin>>e; fin>>c;
int ee=1,cc=1,i;
for( i=0;i<e.size();i++)
ee*=e[i]-'A'+1;
for( i=0;i<c.size();i++)
cc*=c[i]-'A'+1;
if((ee%47)==(cc%47))
fout<<"GO"<<endl;
else
fout<<"STAY"<<endl;
return 0;
}
总结:
题目不难,考察字符串的操作。
看了看一个样例代码,发现头文件ctype.h的应用,其中:
isalpha(int ch)的应用以前没见过,这个函数用于判断该元素是不是字母,。注意新版的编译器可能需要加头文件cctype.h,而且ch如果是字母,必须转换为int型,因为该函数只接受int类型参数。isupper(int ch) 判断函数是否为大写字母,参数为大写英文字母(A-Z)时,返回非零值,否则返回NULL(0)。,islower(int ch)判断函数是否为小写字母,若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。说明一点,其实这三个函数只是宏定义,不是真正的函数。