f515 - 英文縮寫 (Abbreviation)
題目描述
題目要求將輸入的英文單字轉換為常見的縮寫。如果輸入是 "FOR",輸出 "4";如果輸入是 "TO",輸出 "2";如果輸入是 "YOU",輸出 "u";如果輸入是 "AND",輸出 "n";否則,輸出該單字的第一個字母(轉換為大寫)。
解題思路
這題主要考驗字串處理和條件判斷的能力。程式首先將輸入的字串轉換為大寫,然後使用一系列的 if-else if-else 語句來檢查輸入是否匹配預定義的縮寫。如果匹配,則輸出對應的縮寫;否則,輸出輸入字串的第一個字母。
複雜度分析
- 時間複雜度: O(n),其中 n 是輸入字串的長度。主要時間花在字串轉換為大寫的迴圈上。
- 空間複雜度: O(1),程式使用的額外空間是常數級別的。
程式碼
#include <iostream>
using namespace std;
int main(){
cin.tie(0); ios::sync_with_stdio(false);
string a;
while(cin >> a){
int al=a.length();
for(int i=0;i<al;++i)
if(a[i]>='a')
a[i]-=32;
if(a=="FOR")
cout << "4";
else if(a=="TO")
cout << "2";
else if(a=="YOU")
cout << "u";
else if(a=="AND")
cout << "n";
else
cout << a[0];
}
}