#P1537. Identifying Legal Pascal Real Constants

    ID: 538 传统题 1000ms 256MiB 尝试: 5 已通过: 1 难度: 10 上传者: 标签>模拟字符串表达式处理North Central North America 1993

Identifying Legal Pascal Real Constants

题目描述

Pascal语言要求实数常量必须包含小数点或指数部分(以字母$e$或$E$开头,正式称为比例因子),或两者兼具,此外还需包含常规的十进制数字。若包含小数点,则小数点两侧必须至少各有一位数字。允许在数字整体前或指数部分前添加正负号($+$或$-$)。指数部分不得包含小数数字。空格允许出现在实数常量的前后,但不可嵌入其中。需注意,Pascal语法规则对实数常量的取值范围不作限定,本题亦不作要求。

你的任务是判断给定的候选字符串是否为合法的Pascal实数常量。

输入格式

每行输入包含一个待判定的候选字符串。输入以单独占一行的星号$*$结束。

输出格式

对每个候选字符串,按示例格式输出判定结果。合法输出"is legal.",非法输出"is illegal."。

样例输入

1.2
   1.
  1.0e-55
  e-12
    6.5E
     1e-12
  +4.1234567890E-99999
   7.6e+12.5
99
*

样例输出

1.2 is legal.
1. is illegal.
1.0e-55 is legal.
e-12 is illegal.
6.5E is illegal.
1e-12 is legal.
+4.1234567890E-99999 is legal.
7.6e+12.5 is illegal.
99 is illegal.

来源

North Central North America 1993