哪位高手能告诉小弟我,为什么每次都会输出个 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;