每日一题C++版(两种输入的反序)
编程是很多偏计算机、人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用。因此小白决定开辟一个新的板块“每日一题”,通过每天一道编程题目来强化和锻炼自己的编程能力(最起码不会忘记编程)
特别说明:编程题来自“牛客网”和“领扣”以及热心小伙伴的题目。由于小白有时想锻炼某一类编程方法,所以提供的代码不一定是最优解,但是本文提供的编程代码均为通过测试代码。
两种类型的反序
题目描述
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出
示例
输入
1516000
输出
0006151
解析
本题将整数倒叙,之后以字符串的形式输出,而且要求0也作为一个字符串输出(如果0在首位需要取消的话,可以加个if判断就好了)。因此,我们这里放弃了用除法来求取整数每位上的数字,取而代之的是直接用字符串的形式来获取每位上的数字,简化了后期整数向字符串转化的过程。
用这个代码同样可以解决字符转反转的例子,具体题目如下:
题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:
输入描述:
输入N个字符
输出描述:
输出该字符串反转后的字符串
示例
输入
abcd
输出
dcba
代码
#include <iostream>
#include <string>
using namespace std;
class Solution
{
public:
Solution();
Solution(string str_) :str(str_){};
string BcakString()
{
string backstr;
int n = str.size();
for (int i = 0; i < n; i++)
{
backstr = backstr + str[n - i - 1];
}
return backstr;
}
private:
string str;
};
int main()
{
string str,backstr;
cin >> str;
Solution solution(str);
backstr = solution.BcakString();
cout<<backstr<<endl;
return 0;
}