参考:https://blog.csdn.net/inthesilence/article/details/107448234
例题:HJ1 字符串最后一个单词的长度
#include<iostream> using namespace std; int main(){ string word; int ans=0; while(cin>>word){ ans=word.size(); } cout<<ans; return 0; }
读取一行,按空格分隔
读取一行,可能有空格分隔。
#include<iostream> using namespace std; int main(){ string str; getline(cin,str); char ch; cin>>ch; int ans=0; for(int i=0;i<str.size();i++){ if(tolower(str[i])==tolower(ch)) ans++; } cout<<ans; return 0; }
用set排序去重。
#include<bits/stdc++.h> using namespace std; int main(){ vector<int> a; priority_queue<int,vector<int>> pq; int n; while(cin>>n){ int k; set<int> st; for(int i=0;i<n;i++){ cin>>k; st.insert(k); } for(auto& num:st) cout<<num<<"\n"; } return 0; }
试一下map:更改一下while循环:
while(cin>>n){ int k; map<int,int> mp; for(int i=0;i<n;i++){ cin>>k; mp[k]++; } for(auto& num:mp) cout<<num.first<<"\n"; }