zoukankan      html  css  js  c++  java
  • hdu2024(c语言合法标识符)

    C语言合法标识符

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 25521    Accepted Submission(s): 10224

    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语言ctype.h头文件的使用。

    #include <stdio.h>
    #include <ctype.h>
    #include <string.h>
    int main()
    {
        char a[50];
        int n,len,i;
    	scanf("%d",&n);
    	getchar();
        while(n--)
        {
    		gets(a);
    		len=strlen(a);
    		if(isalpha(a[0])==0&&a[0]!='_')
    		{
    			printf("no\n");
    			continue;
    		}
    		else
    		{
    			for(i=1;i<len;i++)
    			{
    				if(isalnum(a[i])||a[i]=='_')//isalnum结合了isalpha与isdigit的功能,字母数字都判断
    					;
    				else
    					break;
    			}
    			
    		}
    		if(i==len)//此处注意不是i==len-1,因为在循环结束时是i==len才结束的哦。
    		printf("yes\n");
    		else
    			printf("no\n");
        }
        return 0;
    }


     

  • 相关阅读:
    .NET程序默认启动线程数
    TPL中Task执行的内联性线程重入
    Unity容器中的对象生存期管理
    C# 异步 TCP 服务器完整实现
    WPF中多源控制Button的状态
    C# 对 TCP 客户端的状态封装
    WPF异步MVVM等待窗体
    C#实现UDP分包组包
    C#实现RTP数据包传输
    PHP 传引用调用
  • 原文地址:https://www.cnblogs.com/unclejelly/p/4082178.html
Copyright © 2011-2022 走看看