判断输入的是否是整数c++
时间: 2023-09-27 11:12:00 浏览: 196
可以通过以下方法判断输入是否是整数:
```cpp
#include <iostream>
#include <string>
#include <regex>
bool isInteger(const std::string& input) {
std::regex integerRegex("^-?\\d+$");
return std::regex_match(input, integerRegex);
}
int main() {
std::string input;
std::cout << "Enter a number: ";
std::cin >> input;
if (isInteger(input)) {
std::cout << "Input is an integer." << std::endl;
} else {
std::cout << "Input is not an integer." << std::endl;
}
return 0;
}
```
这个程序使用了正则表达式来检查输入是否匹配整数的模式。如果输入是一个整数,则返回 true,否则返回 false。
相关问题
C++判断输入是否为整数
在C++中,判断用户输入是否为整数通常需要结合cin流和条件控制结构。一种常见的方法是使用try-catch块,尝试将输入转换为整数,如果转换成功则说明输入是整数,否则捕获异常。
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string input;
cout << "请输入一个数字: ";
cin >> input;
try {
int num = stoi(input); // 使用stoi函数尝试将字符串转为int
if (num == input) { // 如果转换后的值等于原始字符串,则为整数
cout << "您输入的是整数: " << num << endl;
} else {
throw runtime_error("输入不是一个有效的整数"); // 否则抛出异常
}
} catch (const runtime_error& e) {
cerr << "错误: " << e.what() << endl; // 输出错误信息
cout << "请输入一个整数: ";
// 可能的话,可以再次请求输入
}
return 0;
}
```
c++输入整数判断是否是素数
可以使用以下代码来实现:
```c++
#include <iostream>
using namespace std;
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
cout << "请输入一个整数:" << endl;
cin >> num;
if (isPrime(num)) {
cout << num << "是素数。" << endl;
} else {
cout << num << "不是素数。" << endl;
}
return 0;
}
```
该程序首先定义了一个 `isPrime` 函数,用于判断一个数是否为素数。接着在 `main` 函数中,先让用户输入一个整数,然后调用 `isPrime` 函数进行判断,并输出判断结果。
阅读全文