Đề bài:
Một từ trong xâu ký tự được định nghĩa là một dãy ký tự liên tiếp không có khoảng trống. Hãy đếm số từ của
xâu và in kết quả ra màn hình
INPUT
mon thcs 2 nam 2017
OUTPUT
5
Cách giải:
Ý tưởng là dùng vòng lặp duyệt các ký tự trong chuỗi lấy được nếu mà nó bắt đầu bằng ký tự khác ” “ thì tiếp tục tăng i lên đến khi gặp ” ” thì dừng lại.
Tai sao phải dem+1 vì từ cuối cũng nó không đếm nêu ký tự cuối là ” “.
Kiến thức có được:
#include
#include
using namespace std;
int main() {
string a;
getline(cin, a);
int dem = 0;
for (int i = 0;i < a.length();i++) {
while ((int)a[i] != 32) {
i++;
if (i== a.length()) break;
if ((int)a[i] == 32) {
dem += 1;
}
}
}
if ((int)a[a.length() - 1] == 32) {
dem -= 1;
}
cout << dem+1;
return 0;
}