zoukankan      html  css  js  c++  java
  • sdut 2163:Identifiers(第二届山东省省赛原题,水题)

    Identifiers

    Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

    题目描述

     Identifier is an important concept in the C programming language. Identifiers provide names for several language elements, such as functions, variables, labels, etc.

    An identifier is a sequence of characters. A valid identifier can contain only upper and lower case alphabetic characters, underscore and digits, and must begin with an alphabetic character or an underscore. Given a list of chararcter sequences, write a program to check if they are valid identifiers.

    输入

     The first line of the input contains one integer, N, indicating the number of strings in the input. N lines follow, each of which contains at least one and no more than 100 characters. (only upper and lower case alphabetic characters, digits, underscore (" "), hyphen ("-"), period ("."), comma (","), colon (":"), semicolon (";"), exclamation mark ("!"), question mark ("?"), single and double quotation marks, parentheses, white space and square brackets may appear in the character sequences.)

    输出

    For each of the N lines, output "Yes" (without quote marks) if the character sequence contained in that line make a valid identifier; output "No" (without quote marks) otherwise.

    示例输入

    7
    ValidIdentifier
    valid_identifier
    valid_identifier
    0_invalid_identifier
    1234567
    invalid identifier
    adefhklmruvwxyz12356790_-.,:;!?'"()[]ABCDGIJLMQRSTVWXYZ

    示例输出

    Yes
    Yes
    Yes
    No
    No
    No
    No

    提示

     

    来源

    山东省第二届ACM大学生程序设计竞赛
     
      水题
      代码:
     1 #include <iostream>
     2 #include <stdio.h>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int i,j,n;
     8     cin>>n;
     9     getchar();
    10     for(i=1;i<=n;i++){
    11         char a[110];
    12         cin.getline(a,110,'
    ');
    13         if(('a'<=a[0] && a[0]<='z') || ('A'<=a[0] && a[0]<='Z') || a[0]=='_'){
    14             for(j=0;a[j];j++)
    15                 if(!(('a'<=a[j] && a[j]<='z') ||
    16                      ('A'<=a[j] && a[j]<='Z') ||
    17                      ('0'<=a[j] && a[j]<='9') ||
    18                      a[j]=='_') )
    19                      break;
    20             if(a[j])
    21                 cout<<"No"<<endl;
    22             else
    23                 cout<<"Yes"<<endl;
    24         }
    25         else
    26             cout<<"No"<<endl;
    27     }
    28     return 0;
    29 }
    30 
    31 /**************************************
    32     Problem id    : SDUT OJ 2163 
    33     User name    : Miracle 
    34     Result        : Accepted 
    35     Take Memory    : 452K 
    36     Take Time    : 0MS 
    37     Submit Time    : 2014-04-20 09:18:49  
    38 **************************************/

    Freecode : www.cnblogs.com/yym2013

  • 相关阅读:
    供安全工程师实用的SOC模型
    Windows-NTFS-ADS在渗透测试中的利用
    域安全的基础知识上
    Linux下利用动态链接劫持库函数并注入代码
    多线程sshd爆破程序代码
    Windows NTLM Hash和Hash传递、Key传递攻击
    替换linux系统文件etc下passwd文件的字段获取真正的root权限
    攻防对抗中常用的windows命令(渗透测试和应急响应)
    获取权限后权限维持的方法
    RocketMQ启动mqbroker.cmd没反应
  • 原文地址:https://www.cnblogs.com/yym2013/p/3678992.html
Copyright © 2011-2022 走看看