[水题][第一阶段-回归水题][HDOJ-2024]C语言合法标识符

来源:互联网 发布:av杂志在淘宝上怎么买 编辑:程序博客网 时间:2024/05/17 03:39
Problem Description
输入一个字符串,判断其是否是C的合法标识符。
 


Input
输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。
 


Output
对于每组输入数据,输出一行。如果输入数据是C的合法标识符,则输出"yes",否则,输出“no”。
 


Sample Input
312ajffi8x_aff ai_2
 


Sample Output
noyesno
 


import java.util.Scanner;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner in = new Scanner(System.in);int n = in.nextInt();in.nextLine();while(n>0){String str= in.nextLine();str=str.toLowerCase();boolean judge = true;char ch;ch = str.charAt(0);int i;String[] key = {"auto", "break", "case", "char", "const", "continue", "default",     "do", "double", "else", "enum", "extern", "float", "for", "goto",     "if", "int", "long", "register", "return", "short", "signed",      "sizeof", "static", "struct", "switch", "typedef", "union", "unsigned",     "void", "volatile", "while"};for(i=0;i<key.length;i++)if(key[i].equals(str))judge=false;if(!((ch>='a'&&ch<='z')||ch=='_'))judge = false;for(i=1;i<str.length();i++){ch = str.charAt(i);if((ch>='a'&&ch<='z')||(ch=='_')||(ch>='0'&&ch<='9'));elsejudge = false;}if(judge)System.out.println("yes");elseSystem.out.println("no");n--;}}}


0 0
原创粉丝点击