哪位高手能告诉小弟我,为什么每次都会输出个 z
谁能告诉我,为什么每次都会输出个 z
谁能告诉我,为什么每次都会输出个 z,不管我输出什么,第一行总是这个 z,后面才是我真的想输出地答案。
------解决方案--------------------
因为cin>>n之后留下的回车被getline吞掉了,永远第一个字符串都是一个空串。
------解决方案--------------------
- C/C++ code
#include <vector> #include <iostream> #include <string> #include <map> using namespace std; int main() { int n; cin >> n; string s; vector <string> vec; while(getline(cin,s)) vec.push_back(s); map<int,char> alp; alp[0]='z';//就是这个z,我没想输出它啊,好烦 for(int i= 1,j=0;i<26; ++i,++j) alp[i]=char('a'+j); for(vector<string>::iterator ivec = vec.begin(); ivec != vec.end(); ++ ivec) { int sum=0; for(int i = 0; i < (*ivec).size();++i) { char ch; ch = (*ivec)[i]; if(islower(ch)) ++sum; } int m=sum%26; cout << " " << alp[m] <<endl; } return 0; }
谁能告诉我,为什么每次都会输出个 z,不管我输出什么,第一行总是这个 z,后面才是我真的想输出地答案。
------解决方案--------------------
因为cin>>n之后留下的回车被getline吞掉了,永远第一个字符串都是一个空串。
------解决方案--------------------
- C/C++ code
cout << " " << alp[m] <<endl;