数据的处理
   

  问题描述:

  小明是WH市市长的经济顾问,他时常协助市长处理经济领域的一些问题,例如货币发行,统计物价,股市融资等等。

  在处理这些问题时,小明需要分析许多"实数书写",有些是用一般的规则书写的,例如 +1234.5;有些是用科学计数法书写的,例如 -1.2E31 等等。

  合法的书写格式,其BNF范式定义如下:

  <符号> ::= + | -
  <数字> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
  <无符号整数> ::= <数字> | <数字> <无符号整数>
  <整数> ::= <无符号整数> | <符号> <无符号整数>
  <一般实数> ::= <整数> | <整数> <.> <无符号整数>
  <科学实数> ::= <一般实数> <E> <整数>

  然而,不同的书写格式会给小明的分析工作带来很大的不便。而且,有时由于员工的疏忽,有的数字可能被错误的书写了!例如: 1.2E3.1, 123+5.1等等。小明的分析工作再也无法继续下去……

  他迫切的希望你能编写一个程序,事先分析出哪些数的书写是正确的,是用哪种方式书写的。

  输入文件:number.in

  第一行有一个整数N,表示金融数据的个数。(1 ≤ N ≤ 100)
  以下有N行,每行一个字符串(长度不超过1000),表示一个金融数据(无多余空格)。

  输出文件:number.out

  输出文件有N行,每行对应一个金融数据。
  如果该数据的书写是非法的,则输出NO;如果该数据是用"一般实数"书写的,则输出YES1;如果该数据是用"科学实数"书写的,则输出YES2。

  样例输入:number.in

  3
  +1.23
  -5.1.1
  -5.1E-2

  样例输出:number.out

  YES1
  NO
  YES2

   

 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有