以下是一个判断字符串是否是有理数的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函数来判断是否是有理数,并输出结果

判断字符串是否是有理数的C++代码

原文地址: https://www.cveoy.top/t/topic/iaiz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录