您好,我有这个程序可以反转我输入的字母。我正在使用iostream
。我可以用另一种方法替换iostream
和cin.getline
到cin >> X
吗?
我的代码:
//Header Files
#include<iostream>
#include<string>
using namespace std;
//Recursive Function definition which is taking a reference
//type of input stream parameter.
void ReversePrint(istream&);
//Main Function
int main()
{
//Printing
cout<<"Please enter a series of letters followed by a period '.' : ";
//Calling Recursive Function
ReversePrint(cin);
cout<<endl<<endl;
return 0;
}
//Recursive Function implementation which is taking a
//reference type of input stream parameter.
//After calling this function several times, a stage
//will come when the last function call will be returned
//After that the last character will be printed first and then so on.
void ReversePrint(istream& cin)
{
char c;
//Will retrieve a single character from input stream
cin.get(c);
//if the character is either . or enter key i.e '\n' then
//the function will return
if(c=='.' || c=='\n')
{
cout<<endl;
return;
}
//Call the Recursive function again along with the
//input stream as paramter.
ReversePrint(cin);
//Print the character c on the screen.
cout<<c;
}
最佳答案
下面的函数从标准输入获取行,将其反转并写入stdout
#include <algorithm>
#include <string>
#include <iostream>
int main()
{
std::string line;
std::getline( std::cin, line );
std::reverse( line.begin(), line.end() );
std::cout << line << std::endl;
}
关于c++ - 如何简化C++代码以反转字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1858778/