两种类型:逆序不去开始的0,逆序去掉开头的0
逆序不去开始的0
题目描述
描述:
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
输入描述:
输入一个int整数
输出描述:
将这个整数以字符串的形式逆序输出
输入例子:
1516000
输出例子:
0006151
/*
输入一个整数,将这个整数以字符串的形式逆序输出
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001
*/
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
string Solution(int in)
{
stringstream ss;
while (in / 10 != 0)
{
ss << in % 10;
in /= 10;
}
ss << in % 10;
string res;
ss >> res;
return res;
}
int main()
{
int input;
while (cin >> input)
{
cout<<Solution(input);
}
return 0;
}
逆序去掉开头的0
/*
输入一个整数,将这个整数以字符串的形式逆序输出
逆序的前面的0,去掉
*/
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
string Solution(int in)
{
stringstream ss;
int judge = 1;
while (in / 10 != 0)
{
if (in % 10 == 0)
{
//去掉开始的0
if (judge)
{
in /= 10;
continue;
}
//中间是0的情况
else
{
ss << in % 10;
}
}
else
{
judge = 0;
ss << in % 10;
}
in /= 10;
}
ss << in % 10;
string res;
ss >> res;
return res;
}
int main()
{
int input;
while (cin >> input)
{
cout<<Solution(input);
}
return 0;
}