zoukankan      html  css  js  c++  java
  • 2024 C语言合法标识符

    C语言合法标识符

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

    此题只要抓住C语言合法标识符的命名规则就可以了(1、首元素只能是下划线或是字母,2、除首元素外的元素只能是数字、下划线和字母),先判断输入的字符串首元素是否符合规则,接着再判断其他元素。要注意的是因为输入的是字符串,则在判断元素是否是数字时是与字符数字判断!!!

    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
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <math.h>
     4 #include <string.h>
     5 int main()
     6 {
     7     char data[105];
     8     int n,i,j,flag,flag1,len;
     9     while(~scanf("%d",&n))
    10     {
    11         getchar();
    12         for(j=1;j<=n;j++)
    13         {
    14             gets(data);
    15             if((data[0]>='a'&&data[0]<='z')||(data[0]>='A'&&data[0]<='Z')||(data[0]=='_'))
    16             flag=1;
    17             else
    18             flag=0;
    19             len=strlen(data);
    20             if(len>50)
    21             flag=0;
    22             for(i=1;i<len;i++)
    23             {
    24                 if((data[i]>='a'&&data[i]<='z')||(data[i]>='A'&&data[i]<='Z')||(data[i]=='_')||(data[i]>='0'&&data[i]<='9'))
    25                 flag1=1;
    26                 else
    27                 {
    28                     flag1=0;break;
    29                 }
    30             }
    31         if(flag==1&&flag1==1)
    32         printf("yes
    ");
    33         else
    34         printf("no
    ");
    35         }
    36     }
    37     return 0;
    38 }

    启示

    修改了好几遍都没过之后最好的方法是重新敲一遍,把思路捋清楚。

  • 相关阅读:
    HDU 5642 King's Order 动态规划
    HDU 5640 King's Cake GCD
    HDU 5641 King's Phone 模拟
    HDU 5299 Circles Game 博弈论 暴力
    HDU 5294 Tricks Device 网络流 最短路
    HDU 5289 Assignment rmq
    HDU 5288 OO’s Sequence 水题
    星际争霸 虚空之遗 人族5BB 操作流程
    Codeforces Beta Round #3 D. Least Cost Bracket Sequence 优先队列
    Codeforces Beta Round #3 C. Tic-tac-toe 模拟题
  • 原文地址:https://www.cnblogs.com/wang-ya-wei/p/5132989.html
Copyright © 2011-2022 走看看