c++ 接受一个含有字母和数字的字符串,按正序输出所有字母的小写形式,按倒序输出所有数字
输入 Stu8de2nt
输出 student28
#include <iostream>
#include <string>
#include <cctype>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main() {
string data, words, numbers;
getline(cin, data);
transform(data.begin(), data.end(), data.begin(), tolower);
string::iterator it = data.begin();
while (it!=data.end())
{
if (isalpha(*it))
{
words += *it;
}
else
{
numbers += *it;
}
it++;
}
string reserve_num(numbers.rbegin(), numbers.rend());
cout << words << reserve_num << endl;
return 0;
}
#include <iostream>
#include <stack>
#include <string>
using namespace std;
int main()
{
string input, output;
stack<char> number;
cin >> input;
for (int i = 0; i < input.length(); ++i)
{
if (input[i] >= 'a' && input[i] <= 'z')
output += input[i];
if (input[i] >= 'A' && input[i] <= 'Z')
output += (input[i] + 32);
if (input[i] >= '0' && input[i] <= '9')
number.push(input[i]);
}
while (!number.empty())
{
output += number.top();
number.pop();
}
cout << output;
return 0;
}
#include <iostream>
#include<string>
using namespace std;
void main()
{
string str = "";
cin >> str;
string str_new = "";
string str_num = "";
// cout << str.length() << endl;
for (int i = 0; i < str.length(); ++i)
{
if (str[i] >= 'a' && str[i] <= 'z')
str_new += str[i];
else if (str[i] >= 'A' && str[i] <= 'Z')
str_new += str[i] - 'A' + 'a';
else if (str[i] >= '0' && str[i] <= '9')
str_num += str[i];
}
for (int i = str_num.length() - 1; i>= 0; --i)
{
str_new += str_num[i];
}
cout << str_new << endl;
}