C语言合法标识符
Time Limit: 1000 ms
Memory Limit: 65536 KiB
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
//当输入一个数字时,要在加一句String b = cin.nextLine();相当于c语言中的getchar();注意next();和nextLine();的区别
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
String b = cin.nextLine();
while(n-->0){
String s = cin.nextLine();
int t = s.length();
int i;
if((s.charAt(0)>='a'&&s.charAt(0)<='z')||(s.charAt(0)=='_')||(s.charAt(0)>='A'&&s.charAt(0)<='Z')){
for(i = 1;i<t;i++){
if((s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)=='_')||(s.charAt(i)>='A'&&s.charAt(i)<='Z')||(s.charAt(i)>='0'&&s.charAt(i)<='9'));
else
break;
}
if(i==t)
System.out.println("yes");
else
System.out.println("no");
}
else
System.out.println("no");
}
cin.close();
}
}