火大了,连输入一串含有空格的字符串都搞了这么久,超级鄙视自己。
方法1:
string s;
getline(cin,s);
cout<<s<<endl;
不过这样写,在输入字符串完毕后,要按两次回车才会出现那段字符串,是一个bug~~
方法2:
char s[100];
cin.getline(s,100);
cout<<s<<endl;
这样写终于没问题了。
接下来就是解决这个问题-检测字符串中在字母表中没出现的字母
#include<iostream>
#include<string>
using namespace std;
string lowercase(string& s) //转换成小写字母
{
for(int i =0;s[i]!='/0';i++)
{
if(s[i]<91&&s[i]!=32)
s[i]+=32;
}
return s;
}
void check(string s) //检测有哪些字母是没出现的
{
string strc ="abcdefghijklmnopqrstuvwxyz";
for(int i =0 ;i<s.length();i++)
{
for(int j =0;j<strc.length();j++)
if(strc[j]==s[i])
{strc[j]=32;break;}
}
cout<<strc<<endl;
}
int main()
{
char s[100];
cin.getline(s,100);
string str(s);
lowercase(str);
check(str);
return 0;
}