Bailian3659 判断是否为C语言的合法标识符【文本处理】
判断是否为C语言的合法标识符
总时间限制:
1000ms
内存限制:
65536kB
描述
C语言中的合法标识符的定义为:以下划线或字母开头的字母数字串(含下划线)。
完成一个程序实现对输入的n个字符串进行判定,是否为C语言的合法标识符。如果是则输出1,不是则输出0
输入
输入的第一行为一个数字,表明有几个输入字串。
后面每一行为一个长度不超过80的字符串。
输出
对所有输入的字符串进行判断,是合法标识符则输出1,回车。否则输出0,回车。
样例输入
5
hello_world
my god
i
_stdio
008A
样例输出
1
0
1
1
0
问题链接:Bailian3659 判断是否为C语言的合法标识符
问题分析:(略)
程序说明:按照规则逐个字符判断处理。最初写了一个用指针变量实现的版本,又写了一个不用指针的版本。
题记:写程序最需要的是逻辑清晰。
AC的C语言程序如下:
/* Bailian3659 判断是否为C语言的合法标识符 */#include <stdio.h>
#include <ctype.h>#define N 80
char s[N + 1];int main(void)
{int n, ans, i;scanf("%d", &n);getchar();while(n--) {gets(s);if(!isalpha(s[0]) && s[0] != '_') {// 非字母或下划线开头则不是标识符ans = 0;} else {ans = 1;for(i = 1; s[i]; i++)if(isalnum(s[i]) || s[i] == '_') // 字母、下划线或数字,则检查下一个字符;else {// 非字母、下划线或数字则不是标识符ans = 0;break;}}printf("%d\n", ans);}return 0;
}
AC的C语言程序(指针)如下:
/* Bailian3659 判断是否为C语言的合法标识符 */#include <stdio.h>
#include <ctype.h>#define N 80
char s[N + 1];int main(void)
{int n, ans;char *t;scanf("%d", &n);getchar();while(n--) {gets(s);if(!isalpha(s[0]) && s[0] != '_') {// 非字母或下划线开头则不是标识符ans = 0;} else {ans = 1;t = s + 1;while(*t && ans) {// 字母、下划线或数字,则检查下一个字符if(isalnum(*t) || *t == '_') {t++;continue;} else {// 非字母、下划线或数字则不是标识符ans = 0;break;}}}printf("%d\n", ans);}return 0;
}
Bailian3659 判断是否为C语言的合法标识符【文本处理】相关推荐
- c语言oj合法标识符,YTUOJ-C语言合法标识符
Description 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的 ...
- 数字字母下划线C语言,【判断题】C语言中的标识符只能由字母、数字和下划线三种字符组成,而且第一个字符只能是字母和下划线。...
[判断题]C语言中的标识符只能由字母.数字和下划线三种字符组成,而且第一个字符只能是字母和下划线. 更多相关问题 计算机病毒按其寄生方式划分通常可分为().A.系统引导型病毒B.文件型病毒C. 在委托 ...
- 在c语言中合法标识符的第一个字符必须是,c语言合法标识符判断规则是什么?...
规则是:1.标识符的第一个字符必须是字母(a~z或A~Z)或下划线(_):2.后面跟的字符是由任意字母.下划线(_).数字组成:3.标识符中的大小写字母是有区别的,代表不同含义:4.标识符不能是关键字 ...
- c语言判断字符串合法标识符,HDU 2024 C语言合法标识符(以及一些关于输入和ctype.h的内容)...
C语言合法标识符 输入一个字符串,判断其是否是C的合法标识符. Input 输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串 ...
- HDU2024 C语言合法标识符
C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- HDOJ2024C语言合法标识符
C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- HDU2024 C语言合法标识符【文本处理】
C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- HDU2024 C语言合法标识符【入门】
C语言合法标识符 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total S ...
- C语言合法标识符(含知识点)
C语言标识符只能是字母(A-Z,a-z).数字(0-9).下划线()组成的字符串,并且其第一个字符必须是字母或下划线. 题目描述 输入一个字符串,判断其是否是C的合法标识符. 输入 输入一个长度不超过 ...
最新文章
- 英特尔发现Spectre和Meltdown 补丁对性能影响程度为0-21%
- Intersection of Two Linked Lists 解答
- 校园职业社交Handshake获1005万美金A轮融资
- VTK:图片之Colored2DImageFusion
- mysql optimizer组件_MySQL Optimizer
- python中的copy模块(浅复制和深复制)
- java 奇数 字符乱码_socket中文奇数个出现乱码的解决办法
- android仿新浪引导界面
- codeigniter中base_url和site_url
- Web前端开发最佳实践(7):使用合理的技术方案来构建小图标
- 反诈题库---合计100道(解析版最新)
- android studio 登录与注册,Android Studio实现QQ的注册登录和好友列表跳转
- 如何用Java的Robot完成模拟鼠标移动和键盘输入(可应用刷网课)
- 本特利990-05-50-02-00变送器
- Qt信号与槽机制原理
- 安装IDEA 并创建快捷方式
- 使用单文档视图结构把Word嵌入到VC程序中(转)
- 阿里云PHP SDK(升级版)使用说明:
- js控制网页动态效果
- 无锡做大做强“中国芯” 华虹功不可没
热门文章
- 关于更新内容次序问题
- 百度地图API实现地理围栏
- 国内大厂在移动端跨平台的框架接入分析
- 新一代MMO架构(Next Generation MMO Architecture 翻译)
- 关于”要执行请求的操作,WordPress需要访问您网页服务器的权限”
- Adobe AIR移动App的互相调用实现方式
- 图片md5值不一样_夏天宅家,拍点不一样的宝骏530车模图片!
- WebService 代码创建E9流程
- MyBatis-Plus通过注解的方式绑定一对多查询
- pyinstaller cx_oracle,使用pyinstaller打包使用cx_Oracle模块的程序出现The specified module could not be found的问题...