#include <iostream>
using namespace std;
int main() {
int letters = 0, ans = 0;
string s;
while (getline(cin, s)){
for (int i = 0; i < s.size(); i++){
if (((s[i] >= 'a')&&(s[i] <= 'z'))||((s[i] >= 'A')&&(s[i] <= 'Z'))){
letters++;
}
else {
if (letters >= 1){
ans++;
letters = 0;
}
}
}
cout << ans << "\n";
ans = 0;
letters = 0;
}
return 0;
}
以上程式 WA (line:10) |
#include
using namespace std;
int main() {
int letters = 0, ans = 0;
string s;
while (getline(cin, s)){
for (int i = 0; i < s.size(); i++){
if (((s[i] >= 'a')&&(s[i] <= 'z'))||((s[i] >= 'A')&&(s[i] <= 'Z'))){
letters++;
}
else {
if (letters >= 1){
ans++;
letters = 0;
}
}
}
cout << ans << "\n";
ans = 0;
letters = 0;
}
return 0;
}
以上程式 WA (line:10)
試試看這個測資
a b c
會發現答案是3,程式跑出來是2。原因在於最後一個字母後面沒有非英文字母。所以只要在結束時加一段判斷程式就AC。