上海计算机学会2020年7月举办的C++丙组第4题数字验证
发布时间
阅读量:
阅读量
输入一组字符,请判断其是否符合浮点数的合法表示形式。浮点数的表示需遵循以下规则:
- 允许包含
-或+符号,也可以不包含,但符号最多只能出现一次,并且必须位于字符串的起始位置; - 小数点可以存在,也可以不存在,但整个字符串中只能包含一个单独的小数点;
- 整数部分与小数部分均可被省略,但二者不能同时被省略。
输入格式
一组特定字符构成的序列,用以表达一个需要进行验证的字符串,其中每个字符均为可显示字符,且不包含任何空白符或换行符。
输出格式
当输入内容构成一个符合规范的浮点数表达形式时,应返回 Valid;反之,若不符合规范,则应返回 Invalid。
数据范围界定
假设输入字符的总数为 n,其中满足 1≤n≤5000 的条件。
样例数据展示
输入:
+3.1415926
输出:
Valid
输入:
1.0e10
输出:
Invalid
输入:
-25.
输出:
Valid
输入:
.
输出:
Invalid
输入:
-.
输出:
Invalid
题解
本题关键点:明确逻辑,识别不符合规范的情形:
1. 存在超过一个的小数点符号(即小数点数量大于一)
2. 除首个字符可为加减号外,其余位置若包含加减号或其他非数字字符则视为不合法
3.
全部评论 (0)
还没有任何评论哟~
