XTU 1234 legal identifier
来源:互联网 发布:光纤激光打标机软件 编辑:程序博客网 时间:2024/05/16 15:26
题目描述
C语言的标识符必须满足以下条件
只能由数字,英文字母,下划线组成首字母不能是数字
不能是关键字,关键字一共32个为: 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
现在给一个字符串,请判断一下是否为合法的标识符?
输入
第一行是一个整数K(K≤ 10000),表示样例的个数。以后每行是一个不含空白符的字符串,长度不超过32个字符。
输出
每行输出一个样例的结果,如果是合法的标识符,输出“Yes”,否则输出“No”。(引号不要输出)。
AC代码:
#include<bits/stdc++.h>using namespace std;int main(){ int k; int l; cin >> k; string a; int flag; while(k--) { flag=0; cin >> a; l=a.length(); if(a[0]>=48&&a[0]<=57) cout << "No" <<endl; else { for(int i=0;i<l;i++) { if((a[i]>=48&&a[i]<=57) || (a[i]>=65&&a[i]<=90) || (a[i]>=97&&a[i]<=122) || a[i]==95) continue; else flag=1; } if(flag==0) { if(a=="auto"||a=="break"||a=="case"||a=="char"||a=="const"||a=="continue" ||a=="default"||a=="do"||a=="double"||a=="else"||a=="enum"||a=="extern" ||a=="float"||a=="for"||a=="goto"||a=="if"||a=="int"||a=="long" ||a=="register"||a=="return"||a=="short"||a=="signed"||a=="sizeof"||a=="static" ||a=="struct"||a=="switch"||a=="typedef"||a=="union"||a=="unsigned"||a=="void" ||a=="volatile"||a=="while") cout << "No" <<endl; else cout << "Yes" <<endl; } else if(flag==1) cout << "No" <<endl; } } return 0;}
阅读全文
0 0
- XTU 1234 legal identifier
- goodbye, XTU
- XTU 1140
- XTU OJ
- XTU OJ
- XTU 1185
- xtu 4
- xtu 8
- legal high
- XTU SBB的饭碗
- XTU 1142 Collatz Conjecture
- xtu 1147 Hanoi Tower
- XTU 1150 Assembly Line
- XTU Monthly, April 2014
- XTU 1194 A+B
- XTU 1198 Candy
- XTU 1199 Number Game
- XTU 1178A+B
- 问题 D: 英寸厘米转换
- DB9串口引脚定义
- 数据结构与算法(Python)——常见数据结构Part3(Common data structures)
- hdoj 2544 最短路径 dijkstra + 优先队列
- Linux(Ubuntu)安装和完美卸载PHP7详细教程
- XTU 1234 legal identifier
- Java bean中字段命名潜规则,前两个字母要么都大写,要么都小写
- 第二次导师培训课
- 01背包问题模板
- 世上所有的牛逼,闻起来都是加班的味道
- 问题 E: C语言实验题——拍皮球(JSU-ZJJ)
- Sicily1001. 自上而下语法分析(二)
- 解析xml工具类
- node 多版本切换工具nvm安装使用