判断字符串是否是有理数的C++代码
以下是一个判断字符串是否是有理数的C++代码示例:
#include <iostream>
#include <string>
#include <regex>
bool isRationalNumber(const std::string& str) {
std::regex rationalNumberRegex("^[-+]?[0-9]+(\\.[0-9]+)?(e[-+]?[0-9]+)?$");
return std::regex_match(str, rationalNumberRegex);
}
int main() {
std::string str;
std::cout << "输入一个字符串: ";
std::cin >> str;
if (isRationalNumber(str)) {
std::cout << str << " 是一个有理数" << std::endl;
} else {
std::cout << str << " 不是一个有理数" << std::endl;
}
return 0;
}
在上面的代码中,isRationalNumber函数使用正则表达式来检查输入字符串是否符合有理数的格式。正则表达式^[-+]?[0-9]+(\\.[0-9]+)?(e[-+]?[0-9]+)?$用于匹配有理数的格式,其中:
^表示字符串的起始位置[-+]?表示可选的正负号[0-9]+表示至少一个数字(\\.[0-9]+)?表示可选的小数部分,其中\\.表示匹配小数点,[0-9]+表示至少一个数字(e[-+]?[0-9]+)?表示可选的指数部分,其中e表示指数符号,[-+]?表示可选的正负号,[0-9]+表示至少一个数字$表示字符串的结束位置
在main函数中,用户可以输入一个字符串,然后调用isRationalNumber函数来判断是否是有理数,并输出结果
原文地址: https://www.cveoy.top/t/topic/iaiz 著作权归作者所有。请勿转载和采集!