*HDoj 2024 C语言合法标识符
时间:2020-03-27
本文章向大家介绍*HDoj 2024 C语言合法标识符,主要包括*HDoj 2024 C语言合法标识符使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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
Author
lcy
Source
Recommend
本道题做到了好久,具体注意点如下:
1在每个测试用例中,有的测试用例含有空格,而在scanf和cin中,遇到空格会中断输入,所以本题用gets()来接受每个字符串
2无论是scanf还是gets,在接受一个字符串输入时,按下回车后,终止输入,编译器会自动给字符串的末尾添加一个 '\0'表明字符串的结束,同时按下的回车键仍然存在于键盘缓冲区中,在必要的时候需要用getchar()或者其他方法吸收掉
3注意一开始输入测试用例后按下的回车键仍在键盘缓冲区内,会被 gets() 当成一个字符串,得用getchar()吸收掉
4合法标识符由 字母数字下划线组成,并且必须以字母和下划线开头(这句中的字母既包含了大写字母又包含了小写字母,所以得注意)
C语言代码如下:
#include<stdio.h> int main() { char s[100]; int n=0; int flag; // printf("%d",(int)'\n'); //用于查看回车键的ASIIC码值 scanf("%d",&n); getchar(); for(int i=0;i<n;i++) { flag=1; gets(s); if( !(s[0]=='_' || (s[0]>='a'&&s[0]<='z') || (s[0]>='A'&&s[0]<='Z') ) ) { printf("no\n"); continue; } for(int j=1;s[j]!='\0';j++) { if(!( s[j]=='_' || (s[j]>='a'&&s[j]<='z')|| (s[j]>='A'&&s[j]<='Z') ||(s[j]>='0'&&s[j]<='9') )) { printf("no\n"); flag=0; break; } } if(flag==0) continue; printf("yes\n"); } }
原文地址:https://www.cnblogs.com/wzmm/p/12580770.html
- 使用ETag进行session的降级
- 关于oracle中的反连接(r3笔记第95天)
- 用Python爬取网易云音乐的用户评论文本
- grunt任务之seajs模块打包
- 【Java提高十八】Map接口集合详解
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven
- Thinking in React
- 【Java提高十六】集合List接口详解
- JS的内建函数reduce
- Error: Cannot find module 'gulp-clone'问题的解决
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- Angular源码分析之$compile
- TensorFlow实例: 手写汉字识别
- iOS引入JavaScriptCore引擎框架(一)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- codeforces 1216D(数学)
- codeforces 1256D(优先队列+贪心)
- codeforces 1343D(差分数组)
- codeforces1385D (递归+分治)
- codeforces1294D(思维+暴力)
- codeforces 1367D(思维)
- 数据库事务处理与资源池
- codeforces 1328D(思维)
- codeforces 1283D(BFS)
- codeforces 1213D2(贪心+思维)
- codeforces 1426E(贪心)
- codeforces 1374E1(贪心+优先队列)
- codeforces 455A(dp)
- codeforces 1296E1(贪心+思维)
- codeforces 1216E1(数学+暴力)