Problem Description
输入一个字符串,判断其是否是C的合法标识符。
Input
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
Output
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
Sample Input
3 12ajf fi8x_a ff ai_2
Sample Output
no yes no
思路:很简单的题,C语言合法标识符定义为仅由字母,数字,下划线构成,且首字符必须为字母或下划线。读取一个字符串后用循环对每一个字符进行判断,若每一个字符都合法,则标志变量为0.
备注:1.输入问题。一开始想用cin直接输入字符串,但是测试数据是有空格的,cin无法读取空格。后来改用cin.getline(),但是它的操作对象是字符数组。最后才找到getline()函数。
2.判断问题。一开始是想用ASCII码进行判断,但是写出来的程序略显冗余,想着写一个判断函数,但是代码量还是没有得到简化,最后想起来/头文件里有函数可以直接用。