Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift
Bé Na rất thích học tiếng Anh. Một hôm, trong lúc đọc một đoạn văn tiếng Anh, Bé Na muốn biết đoạn văn mà mình phải đọc có bao nhiêu từ, bạn hãy lập một chương trình trình giúp bạn Na làm việc này nhé.
Cho một đoạn văn bản là một xâu ký tự chỉ gồm các chữ cái trong bảng chữ cái la-tinh (‘A’…’Z’, ‘a’…’z’) và các dấu cách (‘ ‘). Mỗi từ là một dãy chữ cái liên tiếp không chứa dấu cách. Hai từ được phân cách bởi một hoặc nhiều dấu cách. Hãy đếm xem đoạn văn đó có bao nhiêu từ.
Input
- Một xâu ký tự chỉ chứa các ký tự chữ cái la-tinh (‘A’…’Z’, ‘a’…’z’) và dấu cách (ghi trên một dòng).
Giới hạn:
- ~40\%~ số test (tương ứng với ~40\%~ số điểm của bài toán) có dữ liệu vào là xâu có không quá ~255~ ký tự và các từ được phân cách nhau bởi duy nhất một dấu cách;
- ~40\%~ số test khác (tương ứng với ~40\%~ số điểm của bài toán) có dữ liệu vào là xâu có không quá ~255~ ký tự và các từ được phân cách nhau bởi ít nhất một dấu cách;
- ~20\%~ số test còn lại (tương ứng với ~20\%~ số điểm của bài toán) có dữ liệu vào là xâu có không quá ~10^5~ ký tự và các từ được phân cách nhau bởi ít nhất một dấu cách.
Output
- Một số nguyên duy nhất là số từ trong xâu ký tự đã cho.
Sample
Input #1
Thank you very much for your letter which arrived a few days ago
Output #1
13
Input #2
Thank you very much
Output #2
4
Problem source: Chuyên Sơn La Online Judge
Bình luận
code C++ full AC cho các bạn tham khảo ( các bạn dùng stringstream nhé )
include<bits/stdc++.h>
using namespace std;
int main() { string s; int cnt = 0; getline(cin, s); stringstream ss(s); while ( ss >> s ){ cnt++; } cout << cnt; }
xét từng kí tự chạy nhanh hơn ak:v
test 14 là gì vậy ạ
sao mình code thì dev c với vscode không ra kết quả nhưng khi nộp lại AC nhỉ?
include <bits/stdc++.h>
using namespace std;
string s;
void solve(){ int cnt = 0;
}
int main(){ ios::syncwithstdio(false), cin.tie(NULL), cout.tie(NULL);
}
bạn phải Ctrl+C để dừng việc nhập lại vì bạn cin>>s
s=list(input().split())
print(len(s))
include <iostream>
include <string>
include <sstream>
include <vector>
using namespace std;
void solve() { string s; getline(cin, s); ll dem=0; stringstream ss(s); string word; while (ss >> word) // doc tung tu co trong s { ++dem; }
cout<<dem;
}
int main() { solve(); cout<<endl; return 0; }
include <stdio.h>
include <string.h>
int main () { char str[100000]; int count = 0; fgets (str, sizeof (str), stdin); for (int i = 0; i < strlen (str); i++) { if ((str[i] != ' ' && str[i + 1] == ' ') || (str[i] != ' ' && str[i + 1] == '\0')) { count++; } } printf ("%d", count); return 0; } mn cho em hỏi code này sai ở đâu vậy ạ T_T
Ta có mỗi lần cin được 1 chuỗi gặp dấu cách là dừng -> Sử dụng while(cin >> s) rồi cộng biến đếm lên là ra kết quả số từ
(Vì mỗi lần ta chỉ nhập vào được 1 từ)
Code C++ cho ai cần nè, mong up vote cho mik nếu các bạn thấy có ích nha
include <bits/stdc++.h>
define int long long
using namespace std;
int res = 0; string s; void solve() {
} main() {
}
Be hoc tieng anh
A = [str(i) for i in input().split()]
print(len(A))
include <bits/stdc++.h>
using namespace std;
define ll long long
define pi acos(-1)
int main() { iosbase::syncwith_stdio(0); cin.tie(0);cout.tie(); string s;
getline(cin , s); ll dem=0; if ((s[0]!=' ') && (s.size()==1)) { cout << 1; return 0; } for (int i =0 ;i<((s.size()-1));i=i+1) { if(s[i]==' ') { if (s[i+1]!= ' ') { dem=dem+1; } } }
if (s[0]== ' ') { cout << dem; } else cout << dem +1; }
cho em hỏi test 13 14 15 là j vậy ạ
Hỗ trợ mng nhaa!
include<bits/stdc++.h>
using namespace std; int main(){ string s; getline(cin,s); string tmp; stringstream ss(s); int cnt = 0; while(ss>>tmp){ cnt++; } cout << cnt; }
include <iostream>
include <string>
include <sstream>
using namespace std; int countWords(const string& text) { istringstream iss(text); string word; int wordCount = 0; while (iss >> word) { ++wordCount; } return wordCount; } int main() { string paragraph; getline(cin, paragraph); int numberOfWords = countWords(paragraph); cout << numberOfWords << endl; return 0; }
include<stdio.h>
include<string.h>
include<ctype.h>
int main(){ char s[10000]; fgets(s,sizeof(s), stdin);
}
mọi người cho e hỏi e cần làm gì nữa ạ bài của e chỉ qua dc test12 đến test13 là tạch. em cảm ơn.
bản chất strtok rồi thằng token là nó tách từng từ trong xâu ra rồi, nên chỉ cần lặp rồi tăng count thôi, khôgn cần check là chữ cái
include <bits/stdc++.h>
using namespace std;
int main() { iosbase::syncwith_stdio(false); cin.tie(NULL); char a[1000000]; long long cnt = 0; cin.getline(a, 1000000); char *token = strtok(a," "); while(token != NULL){ cnt++; token = strtok(NULL, " "); } cout<<cnt; return 0; }
include <iostream>
include <sstream>
include <vector>
include <string>
using namespace std;
int main(){ string s; getline (cin, s); stringstream ss(s); string tmp; vector <string> v; while (ss >> tmp) { v.push_back(tmp); } cout << v.size(); return 0; }
stringstream là qua :v
include <bits/stdc++.h>
define int long long
using namespace std;
int res = 0; string s; void solve() {
} main() {
}
vãi bều bịp :v
My code: print(len(input().split()))