C++编程实现:从控制台输入任意十进制整数,依次取出各位数字,并倒序输出。 例如:输入(123),输出3 2 1
时间: 2024-10-18 15:06:35 浏览: 53
在C++中,你可以通过字符串和循环来实现这个功能。首先,从控制台获取用户输入,然后将输入的字符串转换成整数,接着遍历每一位数字并将其添加到一个新的字符串中。最后,再把新字符串的字符倒序输出。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string input;
std::cout << "请输入一个十进制整数:";
std::cin >> input;
int num = std::stoi(input); // 将字符串转换为整数
std::string digits; // 存储每位数字
while (num != 0) {
digits += std::to_string(num % 10); // 取余数得到最后一位,加到digits
num /= 10; // 移除最后一位
}
std::reverse(digits.begin(), digits.end()); // 倒序字符串
std::cout << "倒序后的数字依次为:" << std::endl;
for (char digit : digits) {
std::cout << digit << " ";
}
return 0;
}
```
相关问题
用C++语言编写如下代码,求和I 成绩: 5 / 折扣: 0.8 输入:控制台/输出:控制台 计算若干十六进制数的和。 输入 输入有若干行,每行为由空格分隔的若干数十六进制整数(不超过10000个),如: 5 A 输出 控制台输出,对每行输入,输出该行十六进制数的和,用十进制表示。如: 15 示例输入 0xB 0xC 示例输出 23
以下是使用C++语言编写的代码,用于计算若干十六进制数的和:
```c++
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string line;
while (getline(cin, line)) { // 逐行读入输入
stringstream ss(line);
int sum = 0;
string hex;
while (ss >> hex) { // 按空格分隔十六进制数并累加
sum += stoi(hex, nullptr, 16); // 将十六进制字符串转为十进制整数并累加
}
cout << sum << endl; // 输出该行十六进制数的和
}
return 0;
}
```
该程序逐行读入输入,对于每行输入,按空格分隔十六进制数并累加,最后输出该行十六进制数的和,用十进制表示。其中,`stoi`函数用于将十六进制字符串转换为十进制整数,第三个参数指定进制为16。
从控制台输入一个十进制signed int类型的整数,如果输入是非法十进制整数,则控制台输出err的提示,如果输入是合法十进制的整数,则控制台输出对应的逆序字符串
好的,我可以帮你解决这个问题。以下是一个C++的示例代码,可以实现你的需求:
```
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string input;
std::cin >> input;
// 检查输入是否为合法十进制整数
bool valid = true;
for (char c : input) {
if (!isdigit(c) && c != '-') {
valid = false;
break;
}
}
if (!valid) {
std::cout << "err" << std::endl;
} else {
// 将输入转换为整数,并判断是否为负数
int num = std::stoi(input);
bool negative = (num < 0);
if (negative) {
num = -num;
}
// 将整数转换为字符串并逆序
std::string reversed = std::to_string(num);
std::reverse(reversed.begin(), reversed.end());
// 如果输入为负数,则在逆序字符串前加上负号
if (negative) {
reversed = "-" + reversed;
}
std::cout << reversed << std::endl;
}
return 0;
}
```
这个程序首先读取用户输入的字符串,然后检查字符串是否为合法的十进制整数。如果输入非法,则输出 "err",否则将输入转换为整数并判断是否为负数。如果是负数,则将其取绝对值并在逆序字符串前加上负号。最后将整数转换为字符串并逆序,输出逆序字符串即可。
希望这个程序能够满足你的需求!
阅读全文