#45. 部分数据类型
部分数据类型
Background
在 C++ 中,不同的数据类型有不同的表示方法和取值范围。你需要编写一个程序,根据给定的字面量判断其数据类型。
Description
给定 N
N 个 C++ 字面量字符串,每个字面量只可能是以下七种类型之一:
bool:布尔类型,字面量为 true 或 false
char:字符类型,字面量由一对单引号括起来,如 'a'、'\n'
string:字符串类型,字面量由一对双引号括起来,如 "hello"、"123"
int:整数类型,十进制整数,范围在 [−2147483648,2147483647]
long long:长整数类型,十进制整数,范围在 [−9223372036854775808,9223372036854775807],且超出 int 范围
float:单精度浮点数,字面量包含小数点或指数部分,并以 f 或 F 结尾
double:双精度浮点数,字面量包含小数点或指数部分,且不以 f 或 F 结尾
请输出每个字面量对应的类型名。
Format
Input
第一行一个整数 N。
接下来 N 行,每行一个 C++ 字面量字符串。
Output
输出 N 行,每行一个字符串,表示对应字面量的类型名,只能是 bool、char、string、int、long long、float、double 之一。
Samples
7
true
'a'
"hello"
123
2147483648
3.14
3.14f
bool
char
string
int
long long
double
float
Limitation
int 的范围是 -2147483648 到 2147483647。
long long 的范围是 -9223372036854775808 到 9223372036854775807。
浮点数字面量如果没有 f 或 F 后缀,默认为 double 类型。
字符字面量由单引号括起来,内部可以是一个普通字符或转义字符(如 '\n'、'\t'、'\' 等)。
字符串字面量由双引号括起来,内部可以包含任意字符(包括数字),测评点所提供的字符串中不包含空格。
*若测评点字符全为数字,则输出int或者long long。 如,1335输出int,999999999999输出long long。
数据范围:
1≤N≤1000
每个字面量长度不超过 100
保证输入是合法的C++ 字面量,且只属于上述七种类型之一。