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,'\n');
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

posted @ 2014-04-21 18:41  Freecode#  阅读(394)  评论(0编辑  收藏  举报