牛客华为机试题库第一题 c++ cin读入的问题

题链接:https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da?tpId=0&tqId=0&rp=0&ru=/ta/huawei&qru=/ta/huawei/question-ranking

题j目很简单,求出字符串长度,倒着计数直到遇到第一个空格为止。

刚开始用cin读入字符串,没全部通过,没有想到问题出在cin上。

然后试了str.length(),str.size(),strlen(str)这几个函数可以自行去查找,都是求长度的

全都不对,然后查了一下再知道是cin读入的问题,cin是以空格为分隔符,所以在读入包含空格的字符串的时候遇到空格就停止了,只会读前一部分

所以用getline(cin,str)读入整行字符串就好了

string s,s1;
getline(cin,s);
int l=s.length();cout<<l<<endl;
cin>>s1;
int l1=s1.length();cout<<l1<<endl;

 还是基础不扎实...继续努力!

猜你喜欢

转载自www.cnblogs.com/libin123/p/12242367.html