USACO 1.1.1 Your Ride Is Here
這或許是用C++寫的第一個提交的程序了,雖然說是第一題,不過對于C++不熟悉的我也只好到處尋找資料。
整理一下:
①C++的文件讀寫操作
類似PASCAL中的assign(input,'XXX.in');和assign(output,'XXX.out');
在C++中可以用多種方法,目前我只知道兩種。
Ⅰ用freopen("XXX.in","r",stdin);和freopen("XXX.out","w",stdout);
freopen("XXX.in","r",stdin)的作用就是把stdin重定向到XXX.in文件中,這樣在用cin或是用scanf輸入時便不會從標準輸入流提取數據。而是從XXX.in文件中獲取輸入。同理,freopen("XXX.out","w",stdout)的作用就是把stdout重定向到XXX.out文件中,這樣在用cout輸出時便會從輸出到XXX.out文件而不是標準輸出流。
與PASCAL不同的是C++中字符與字符串都用雙引號而PASCAL用單引號。
Ⅱ用fstream來代替iostream,然后用ifstream fin("XXX.in")和ofstream fout("XXX.out")來定義文件,再用fin和fout來代替cin和cout即可
②C++中數組是按大小開的,int a[x];表示開一個a[0]..a[x-1]的數組,注意是從0而不是1開始,我就犯了這樣一個錯誤導致程序死循環。
③By the way如果要用變量作文件名以及其它被調用的字符串可以把變量存為字符串s,然后用s.c_str()就可以被識別。

/**//*2
ID:shuaicp13
PROG:ride4
LANG:C++5
*/6
#include <iostream>7
using namespace std;8

9
int main()10


{11
string s;12
int num[2];13
freopen("ride.in","r",stdin);14
freopen("ride.out","w",stdout);15
for(int i=0;i<=1;i++)16

{17
num[i]=1;18
cin>>s;19
for(int j=0;j<s.size();j++)20
num[i]=num[i]*(s[j]-'A'+1)%47;21
}22
if (num[0]==num[1])23
cout<<"GO"<<endl;24
else25
cout<<"STAY"<<endl;26
return 0;27
}28

posted @ 2009-07-14 01:34 Shuai 閱讀(645) | 評論 (0) | 編輯 收藏


