题目描述:
输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。(不含空格)
输入格式:
先输入字符串的长度,不超过100个字符长度,回车,然后依次输入字符,以回车结束字符串输入。
输出格式:
如果输入字符串中含空格,则输入字符串后回车,显示"入栈不成功",若字符串无空格,回车后,若是回文,则输出"此字符串是回文串",否则输出"此字符串不是回文串"。
一道简单的题目 学到了一个可以反转子字符串的方法
在题目中的使用:string reversed_str = string(input_str.rbegin(), input_str.rend());
但是判断空格的时候发现识别不了,去vs调试才发现std::cin不会读取空格.
然后去学习了几种c++常见的输入语句:
- cin
cin是C++中最常用的输入语句,当遇到空格或者回车键即停止
输入:abcd遇回车输出abcd
缺点:只能输入没有空格的字符串,当输入中含有空格,则只能输出空格之前的字符
输入:I love China输入空格时输入并未停止,遇回车输入停止,输出I,空格后面的均未输出。 - gets()
可以无限读取,以回车结束读取,C语言中的函数,在C++中运行会产生bug。
输入:I love China回车结束输入,输出结果为love China。首字符自动丢弃。 - getline()
若定义变量为string类型,则要考虑getline()函数。用法如下:
输入:I love China回车并未结束输入,需回车两次才能结束输入,输出结果为:I love China.
4.cin.get
cin.get()函数可以接收空格,遇回车结束输入。
输入:I love China回车结束输入,输出结果为I love China。 - cin.getline
cin.getline()函数可以同cin.get()函数类似,也可接收空格,遇回车结束输入。
输入:I love China回车结束输入,输出结果为I love China。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Hsuesh/article/details/114897875
在本题中因为需要判断空格,所以最后选用cin.get()