c++j简短代码输入若干个int范围内的正整数,用空格隔开,请统计这些数字中有多少个回文数。
时间: 2024-12-06 13:33:39 浏览: 10
在C++中,我们可以使用标准库`cin`来获取用户输入,然后遍历这个整数序列,检查每个数是否为回文数。下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
bool isPalindrome(int num) {
std::ostringstream oss;
oss << num; // 将整数转换为字符串便于比较
std::string str = oss.str();
int start = 0, end = str.length() - 1;
while (start < end) {
if (str[start] != str[end]) {
return false;
}
start++;
end--;
}
return true;
}
int main() {
int count = 0;
std::vector<int> numbers;
std::string input;
std::getline(std::cin, input); // 获取一行输入作为一个字符串
std::istringstream iss(input);
int num;
while (iss >> num && num > 0) { // 检查是否在指定范围内,且输入的是正整数
numbers.push_back(num);
if (isPalindrome(num)) {
count++;
}
}
std::cout << "在给定的数字中,有 " << count << " 个回文数。\n";
return 0;
}
```
在这个代码中,我们首先定义了一个函数`isPalindrome`用于检查一个数是否是回文,然后在`main`函数中读取用户的输入,将它们存储在一个向量中,并计算其中的回文数。
阅读全文